本书是"十一五”"十二五”普通高等教育本科国家级规划教材,江苏"十四五”普通高等教育本科规划教材。 本书通过全面地介绍Java程序设计的基础知识、运行机制、多种编程方法和技术,力求建立牢固扎实的理论基础,系统、有序地进行程序设计和面向对象方法的基础训练,为操作系统、数据库、网络通信、Web应用等软件领域的实际应用问题提供基于Java技术的解决方案。 本书主要内容包括Java概述,Java语言基础,类的封装、继承和多态,接口、内部类和Java API基础,异常处理,图形用户界面设计,多线程设计,流和文件操作,Socket通信,基于JDBC的数据库应用设计,基于JSP的Web应用设计,以及综合应用设计。这些内容是构成Java应用程序的基本要素和必备知识。 本书注重理论与实践相结合,注重基础知识的讲解与基本技能的培养。全书内容丰富,结构安排合理,由浅入深,层次分明,内容涉及的广度和深度符合高等教育本科培养目标的要求。 本书可以作为普通高等学校计算机类专业学生的Java程序设计相关课程教材,也可以作为使用Java进行软件开发的人员的参考书。
叶核亚,计算机工程学院副教授,江苏省高校“青蓝工程”优秀骨干教师。硕士研究生,本科毕业于南京大学计算机科学与技术系。主讲数据结构与算法、Java语言程序设计等课程。主编出版数据结构与算法、Java程序设计等教材19本,其中国家级“十一五”“十二五”规划教材7本,江苏省“十二五”“十三五”高等学校重点教材3本。主持建设完成“数据结构”精品资源共享课、江苏省在线开放课程和江苏省“一流课程”,以及“Java基础”精品课程。多次获得南京工程学院“三育人”先进个人、毕业设计优秀指导教师、创新创业优秀指导教师等,以及电子工业出版社“优秀作译者”等。
目录
第1章 Java概述 1
1.1 了解Java 1
1.1.1 Java的诞生和发展 1
1.1.2 Java的特点 2
1.1.3 Java核心技术 4
1.2 JDK 6
1.2.1 安装和设置JDK 6
1.2.2 编辑、编译和运行Java
应用程序 7
1.2.3 包 8
1.3 Java集成开发环境 12
1.3.1 Eclipse集成开发环境 13
1.3.2 编辑、编译和运行程序 14
1.3.3 设置Eclipse环境属性 16
1.3.4 设置项目属性 17
1.3.5 程序调试技术 18
习题1 20
实验1 编辑、编译和运行Java应用程序 21
第2章 Java语言基础 22
2.1 语言成分 22
2.1.1 标识符与关键字 22
2.1.2 基本数据类型 23
2.1.3 变量与常量 25
2.1.4 运算符与表达式 26
2.2 流程控制语句 32
2.2.1 顺序结构语句 33
2.2.2 选择语句 33
2.2.3 循环语句 35
2.2.4 转移语句 39
2.3 数组 39
2.3.1 一维数组 40
2.3.2 二维数组 43
2.4 静态方法 46
2.4.1 方法声明与调用 46
2.4.2 参数传递 47
2.5 字符串 50
2.6 算法分析与设计基础** 53
2.6.1 算法设计策略 53
2.6.2 典型问题的算法分析与设计 56
2.6.3 计算方阵的线性迭代算法 62
习题2 64
实验2 Java程序设计基础 65
第3章 类的封装、继承和多态 71
3.1 类和对象 71
3.1.1 类 71
3.1.2 对象 73
3.2 类的封装 74
3.2.1 构造方法和析构方法 75
3.2.2 对象的引用和运算 76
3.2.3 访问控制 77
3.2.4 静态成员 78
3.2.5 浅拷贝与深拷贝 83
3.3 类的继承 86
3.3.1 继承原则及作用 86
3.3.2 子类的构造方法 88
3.4 类的多态 89
3.4.1 子类声明多态成员 89
3.4.2 类型的多态 92
3.4.3 何时确定执行哪个多态方法 93
3.4.4 多态的方法实现 94
3.4.5 运行时多态的应用 96
3.5 类的抽象 98
3.5.1 用继承刻画包含关系 98
3.5.2 抽象类 99
3.5.3 最终类 104
习题3 105
实验3 类的封装、继承和多态 107
第4章 接口、内部类和Java API基础 109
4.1 接口与实现接口的类 109
4.2 内部类 115
4.3 Java API基础 118
4.3.1 java.lang包中的基础类库 118
4.3.2 java.util包中的工具类库 123
4.4 泛型** 126
习题4 131
实验4 接口与实现接口的类 132
第5章 异常处理 134
5.1 异常处理基础 134
5.1.1 异常处理机制的必要性 134
5.2.2 错误与异常 135
5.2 异常处理措施 138
5.2.1 异常处理语句 138
5.2.2 抛出异常 140
5.2.3 自定义异常类 141
习题5 143
实验5 抛出、捕获并处理异常 143
第6章 图形用户界面设计 144
6.1 AWT组件及属性类 144
6.1.1 AWT组件 144
6.1.2 布局管理 148
6.1.3 颜色和字体 149
6.2 事件处理 150
6.2.1 委托事件模型 150
6.2.2 AWT事件类和事件监听器
接口 154
6.3 Swing组件及事件 156
6.3.1 Swing组件类和容器 157
6.3.2 文本组件及事件 158
6.3.3 按钮类组件 162
6.3.4 列表框和组合框组件及事件 163
6.3.5 中间容器 166
6.3.6 定制对话框 166
6.3.7 菜单类组件 176
6.3.8 表格组件及事件 184
6.4 图形设计 189
习题6 196
实验6 图形用户界面设计 197
第7章 多线程设计 215
7.1 进程和线程 215
7.1.1 进程 215
7.1.2 线程 217
7.2 Java的线程对象 218
7.2.1 Runnable接口与Thread类 219
7.2.2 线程对象的生命周期 222
7.2.3 采用线程实现动画设计 224
7.3 线程互斥和线程同步 227
7.3.1 交互线程,与时序有关的
错误 228
7.3.2 交互线程的竞争与互斥 230
7.3.3 交互线程的协作与同步 233
习题7 242
实验7 多线程设计 243
第8章 流和文件操作 247
8.1 文件和目录 247
8.1.1 文件 247
8.1.2 目录 249
8.1.3 文件系统 250
8.2 字节流 251
8.2.1 流 251
8.2.2 抽象字节流 252
8.2.3 文件字节流 253
8.2.4 数据字节流 256
8.2.5 对象字节流 261
8.2.6 管道字节流 263
8.3 字符流 267
8.3.1 字符流类 267
8.3.2 Java标准输入/输出 270
8.4 文件操作 271
8.4.1 文件类及其过滤器 271
8.4.2 文件选择对话框 275
习题8 282
实验8 流和文件操作 283
第9章 Socket通信 286
9.1 网络编程基础 286
9.2 TCP Socket通信 289
9.3 UDP Socket通信 301
9.3.1 UDP Socket点对点通信 301
9.3.2 UDP组播通信 305
习题9 309
实验9 Socket通信 310
第10章 基于JDBC的数据库应用设计 311
10.1 MySQL数据库 311
10.1.1 安装MySQL数据库,
启动数据库服务 311
10.1.2 MySQL数据库工作台 312
10.2 JDBC及数据库应用设计 313
10.2.1 JDBC功能和连接数据库 313
10.2.2 执行SQL语句 315
10.2.3 处理数据查询结果集 317
习题10 320
实验10 基于JDBC的数据库应用设计 320
第11章 基于JSP的Web应用设计 321
11.1 Web应用的基础知识 321
11.2 JSP技术 324
11.2.1 JSP原理 324
11.2.2 运行JSP 325
11.2.3 JSP语法 329
11.2.4 基于JSP提供数据库
应用服务的Web应用 336
习题11 338
实验11 基于JSP的Web应用设计 339
第12章 综合应用设计 340
12.1 集合框架 340
12.1.1 集合 341
12.1.2 映射 344
12.2 反射*** 346
12.3 使用复杂Swing组件 348
12.3.1 BoxLayout盒式布局管理器和Box容器 348
12.3.2 列表框 348
12.3.3 树 353
12.4 课程设计的要求和选题 368
附录A ASCII字符与Unicode值 379
附录B Java的关键字及说明 380
附录C Java基本数据类型 381
附录D Java的运算符及其优先级 382
附录E Java类库(部分) 383
E.1 java.lang语言包 383
E.2 java.util实用包 387
E.3 java.text文本包 388
附录F Eclipse常用菜单命令 390
参考文献 391