本书以实际工作案例为依托,从Java程序设计基本的理论知识出发,重点突出Java程序设计的基本语法规则及相关概念,从初学者的角度,以丰富的案例进行讲解分析,用通俗易懂的语言介绍Java程序设计中涉及的技术。全书分为11章,内容包括Java程序设计入门、Java编程基础、面向对象程序设计、多线程、Java API、集合类、输入和输出、图形用户界面(GUI)、网络编程、JDBC数据库编程、综合案例。本书可作为应用型本科院校、高职高专院校计算机及相关专业的Java程序设计课程的教材,也可作为Java程序设计人员、Java初学者的参考书。
张仁忠,教授,博士生导师。中国系统仿真学会会员、中国自动化学会高级会员,曾任中国造船学会电子信息技术委员会委员、黑龙江省系统工程学会理事长。哈尔滨工程大学本科教学主讲教师,研究生教学优秀教师,并多次被评为研究生优秀指导教师。骆金维,副教授,广东创新科技职业学院信息工程学院副院长,中国计算机学会会员,2017年获得广东创新科技职业学院教学名师。
第1章 Java程序设计入门 1
1.1 Java概述 1
1.1.1 Java的发展历史 1
1.1.2 Java的特点 2
1.1.3 Java的版本 2
1.2 Java开发环境的配置 3
1.2.1 JDK概述 3
1.2.2 JDK安装 4
1.2.3 环境变量配置 5
1.2.4 测试JDK配置 7
1.3 Java程序运行机制 8
1.3.1 初识Java程序 8
1.3.2 Java的关键字 10
1.3.3 Java常用的基本工具 10
1.4 Java开发工具 11
1.5 Java API文档 12
1.6 本章习题 14
第2章 Java编程基础 16
2.1 Java基本语法 16
2.1.1 Java程序的基本格式 16
2.1.2 标识符和关键字 17
2.1.3 分隔符 18
2.2 常量和变量 19
2.2.1 数据类型 19
2.2.2 常量 19
2.2.3 变量 20
2.2.4 基本类型 21
2.2.5 字符串 23
2.3 Java基本运算符 23
2.3.1 算术运算符 24
2.3.2 关系运算符 25
2.3.3 位运算符 26
2.3.4 逻辑运算符 27
2.3.5 赋值运算符 27
2.3.6 条件运算符 29
2.3.7 运算符优先级 30
2.4 程序的流程控制 30
2.4.1 顺序结构 30
2.4.2 分支结构 31
2.4.3 循环结构 34
2.4.4 其他控制语句 37
2.5 数组 40
2.5.1 数组声明 40
2.5.2 数组创建 40
2.5.3 数组元素的使用 42
2.5.4 数组的遍历 42
2.5.5 Arrays类 43
2.6 方法 43
2.6.1 方法的定义 43
2.6.2 方法的调用 44
2.6.3 参数传递 45
2.6.4 方法重载 46
2.7 本章习题 47
第3章 面向对象程序设计 49
3.1 面向对象程序设计机制 49
3.1.1 对象 50
3.1.2 封装 50
3.1.3 继承 50
3.1.4 多态 50
3.2 类与对象 51
3.2.1 类的声明 51
3.2.2 创建和使用对象 53
3.3 构造方法 55
3.4 包 56
3.4.1 包的概念 56
3.4.2 Java的常用包 57
3.5 封装 58
3.5.1 理解封装 58
3.5.2 访问修饰符 58
3.6 继承 59
3.6.1 继承的特点 59
3.6.2 重写父类的方法 61
3.7 多态 62
3.8 内部类 64
3.8.1 非静态内部类 65
3.8.2 静态内部类 65
3.9 this关键字 65
3.10 static关键字 66
3.11 final关键字 67
3.12 抽象类与接口 68
3.12.1 抽象类 68
3.12.2 抽象方法和抽象类 69
3.12.3 接口的概念和定义 70
3.12.4 接口的实现 71
3.12.5 接口和抽象类 71
*3.13 垃圾回收 72
3.13.1 对象在内存中的状态 72
3.13.2 强制垃圾回收 73
3.14 异常 73
3.15 本章习题 75
第4章 多线程 78
4.1 线程概述 78
4.1.1 进程 78
4.1.2 线程 79
4.2 线程创建 80
4.2.1 继承Thread类 80
4.2.2 实现Runnable接口 82
4.2.3 两种实现多线程方式的对比 83
4.3 线程生命周期及控制 85
4.4 线程调度 87
4.4.1 线程优先级 87
4.4.2 线程休眠 89
4.4.3 线程让步 91
4.4.4 线程插队 92
4.5 多线程同步 93
4.5.1 线程安全问题 93
4.5.2 同步代码块 94
4.5.3 同步方法 96
4.5.4 死锁问题 98
4.6 多线程通信 100
4.7 本章习题 101
*第5章 Java API 104
5.1 API的基本概念 104
5.2 Object类 105
5.3 基本类型的封装类 105
5.4 String类和StringBuffer类 106
5.5 System类和Runtime类 107
5.6 Math类和Random类 108
5.6.1 Math类 108
5.6.2 Random类 110
5.7 Date类、Calendar类、DateFormat类 113
5.7.1 Date类 113
5.7.2 Calendar类 114
5.7.3 DateFormat类 114
5.8 本章习题 115
第6章 集合类 117
6.1 集合类的基本概念 117
6.2 Collection接口 118
6.3 List接口 119
6.3.1 List接口简介 119
6.3.2 ArrayList集合 119
6.3.3 LinkedList集合 120
6.4 集合遍历 122
6.4.1 Iterator接口 122
6.4.2 foreach循环 123
6.5 Set接口 126
6.5.1 Set接口简介 126
6.5.2 HashSet集合 126
6.6 Map接口 130
6.6.1 Map接口简介 130
6.6.2 HashMap集合 131
6.6.3 Properties集合 135
6.6.4 泛型 136
6.7 Arrays工具类 138
6.8 Collections工具类 142
6.9 本章习题 145
第7章 输入和输出 148
7.1 输入和输出的基本概念 148
7.2 字节流 149
7.2.1 字节输出流OutputStream 149
7.2.2 字节输入流InputStream 151
7.3 字符流 151
7.3.1 字符输出流Writer 151
7.3.2 字符输入流Reader 153
7.4 Scanner类 154
*7.5 对象序列化 156
7.6 File类 159
7.7 数据操作流 161
7.8 本章习题 165
*第8章 图形用户界面(GUI) 168
8.1 AWT概述 168
8.1.1 Window类 170
8.1.2 Panel类 171
8.2 AWT事件处理 171
8.3 常用事件分类 172
8.3.1 窗体事件 173
8.3.2 鼠标事件 174
8.3.3 键盘事件 176
8.3.4 动作事件 177
8.4 布局管理器 177
8.4.1 FlowLayout 177
8.4.2 BorderLayout 178
8.4.3 GridLayout 180
8.4.4 GridBagLayout 181
8.4.5 CardLayout 183
8.5 AWT绘图 186
8.6 Swing概述 187
8.6.1 JFrame 188
8.6.2 JDialog 189
8.6.3 JPanel和JScrollPane 191
8.6.4 按钮 194
8.6.5 文本 197
8.6.6 下拉列表框 200
8.6.7 菜单 200
8.7 本章习题 203
*第9章 网络编程 206
9.1 网络通信协议 206
9.2 TCP/IP协议 207
9.3 UDP协议 207
9.3.1 使用DatagramSocket发送和接收数据 208
9.3.2 使用MulticastSocket实现多点广播 211
9.4 本章习题 212
第10章 JDBC数据库编程 214
10.1 JDBC概述 214
10.2 JDBC常用API 216
10.3 连接数据库实例 216
10.4 PreparedStatement对象 222
10.5 ResultSet对象 223
10.6 本章习题 225
*第11章 综合案例 229
11.1 案例分析和设计 229
11.1.1 任务描述 229
11.1.2 运行结果 229
11.1.3 任务目标 230
11.1.4 实现思路 230
11.2 案例实施 231
11.2.1 定义系统欢迎界面的窗体类 231
11.2.2 定义系统欢迎界面的测试类 233
11.2.3 定义超市货物管理界面的窗体类 235
11.2.4 定义超市货物管理界面的测试类 239
11.2.5 编写水果项的实体类 240
11.2.6 定义存储数据类 241
11.2.7 分层编写 242
11.2.8 创建主界面操作类 247
11.2.9 定义main()方法类 247
11.3 本章习题 249
参考文献 251