第1部分 Java实用教程 1
第1章 JAVA和ECLIPSE集成开发环境 1
1.1 Java语言简介 1
1.1.1 Java语言特点 1
1.1.2 Java运行机制 2
1.2 第一个Java程序 3
1.3 Java开发环境的搭建 4
1.4 Eclipse集成开发环境 7
第2章 JAVA语法基础 9
2.1 常量和变量 9
2.1.1 数据类型 9
2.1.2 标识符和关键字 9
2.1.3 常量 10
2.1.4 变量 12
2.1.5 类型转换 13
2.2 运算符和表达式 15
2.2.1 运算符 15
2.2.2 表达式 21
2.3 流程控制 21
2.3.1 分支语句 21
2.3.2 循环语句 25
2.3.3 流程跳转语句 29
2.4 方法与递归 30
2.4.1 方法 30
2.4.2 参数传递 30
2.4.3 递归 31
2.5 命名规范 32
2.6 注释语句 33
2.7 综合实例 33
第3章 JAVA面向对象编程(上) 36
3.1 类的定义及成员变量初始化 37
3.1.1 类的定义 37
3.1.2 变量的初始化 38
3.2 创建对象 40
3.2.1 构造方法 40
3.2.2 默认构造方法 43
3.2.3 构造方法重载 44
3.2.4 普通方法重载 45
3.3 this引用 47
3.4 静态成员 49
3.4.1 静态变量 50
3.4.2 静态方法 51
3.4.3 main()方法 52
3.4.4 类的初始化 55
3.5 package与import语句 56
3.6 内部类 60
3.6.1 实例内部类 60
3.6.2 匿名类 62
3.6.3 static内部类 63
3.6.4 局部内部类 64
第4章 JAVA面向对象编程(下) 66
4.1 继承 66
4.1.1 继承的定义 66
4.1.2 初始化基类 68
4.1.3 方法的重写 68
4.1.4 super关键字 71
4.2 对象的转型 72
4.3 多态 76
4.4 抽象类 78
4.5 接口 80
4.6 终止继承 82
4.6.1 final类 82
4.6.2 final方法 82
4.6.3 final变量 84
4.7 权限修饰符 86
4.7.1 类内部 86
4.7.2 同一个包的类 87
4.7.3 不同包的子类 89
4.7.4 通用性 89
4.7.5 访问权限与继承 90
4.8 综合实例:航班管理 91
第5章 常用类与异常处理 101
5.1 Object类 101
5.1.1 equals()方法 101
5.1.2 hashCode()方法 103
5.1.3 toString()方法 104
5.2 字符串类 105
5.2.1 String类 105
5.2.2 StringBuffer类 108
5.3 包装类 110
5.4 Math类 113
5.5 Random类 114
5.6 日期类 115
5.6.1 Date类 115
5.6.2 DataFormat类 116
5.6.3 Calendar类 118
5.7 正则表达式 119
5.7.1 替换操作 124
5.7.2 Scanner定界符 125
5.8 异常处理 126
5.8.1 异常的捕获与处理 127
5.8.2 声明抛出异常子句 129
5.8.3 抛出异常语句 130
5.8.4 自定义异常类 131
5.9 综合实例 133
第6章 数组、枚举及注解 136
6.1 一维数组 136
6.2 多维数组 139
6.3 访问数组 143
6.4 数组实用类:Arrays 145
6.4.1 复制数组 145
6.4.2 数组排序 146
6.4.3 数组元素的查找 147
6.5 枚举 148
6.6 enum的构造方法 150
6.7 使用EnumMap 151
6.8 注解 152
6.9 内置注解 152
6.9.1 Override 153
6.9.2 Deprecated 154
6.9.3 SuppressWarnings 155
6.10 注解 156
6.10.1 自定义注解 157
6.10.2 元注解 157
6.11 综合实例 160
第7章 容器和泛型 164
7.1 Collection与Iterator 164
7.2 实用类Collections 166
7.3 Set(集) 168
7.3.1 HashSet 168
7.3.2 TreeSet 170
7.4 List(列表) 174
7.4.1 ArrayList 174
7.4.2 LinkedList 177
7.4.3 栈的实现 179
7.5 Queue(队列) 180
7.5.1 PriorityQueue 181
7.5.2 实现队列 182
7.5.3 双向队列 183
7.6 Map(映射) 185
7.6.1 HashMap 187
7.6.2 TreeMap 188
7.7 泛型 190
7.8 泛型方法 193
7.9 受限泛型 195
7.10 通配符与受限通配符 196
7.11 子类泛型 198
7.12 泛型数组 200
7.13 综合实例 202
第8章 JAVA输入/输出系统 206
8.1 字节流 206
8.1.1 字节数组输入流 207
8.1.2 字节数组输出流 208
8.1.3 文件输入流 209
8.1.4 文件输出流 210
8.1.5 管道流 211
8.2 过滤流 213
8.2.1 缓冲流类 213
8.2.2 数据流类 216
8.2.3 PrintStream类 217
8.3 字符流 219
8.3.1 转换流类 219
8.3.2 FileReader和FileWriter 221
8.3.3 BufferedReader和BufferedWriter 222
8.3.4 PrintWriter类 224
8.4 标准I/O 225
8.4.1 重新包装标准I/O 226
8.4.2 标准I/O重定向 226
8.5 随机访问文件类 227
8.6 对象序列化 230
8.7 File类 232
8.8 综合实例 234
第9章 AWT组件及应用 237
9.1 AWT容器 237
9.1.1 Window和Frame 238
9.1.2 Panel 239
9.2 布局管理器 240
9.3 事件处理机制 241
9.3.1 AWT事件与监听器 242
9.3.2 窗口事件 243
9.3.3 鼠标事件 245
9.3.4 键盘事件 246
9.3.5 内部类实现监听接口 248
9.3.6 类自身实现监听接口 250
9.3.7 外部类实现监听接口 252
9.3.8 采用事件适配器 254
9.4 Graphics类 256
9.5 AWT绘图 258
9.6 综合实例 261
第10章 SWING组件及应用 266
10.1 窗口JFrame 266
10.2 Swing常用组件(1) 268
10.2.1 按钮 268
10.2.2 JTextField与JTextArea 270
10.2.3 JCheckBox和JRadioButton 273
10.2.4 列表框(JList) 277
10.3 Swing常用组件(2) 278
10.3.1 菜单条(JmenuBar) 278
10.3.2 弹出式菜单(JpopupMenu) 282
10.3.3 页签面板(JtabbedPanel) 284
10.3.4 工具栏(JToolBar) 286
10.4 Swing常用组件(3) 291
10.4.1 表格(JTable) 291
10.4.2 树型视图(JTree) 293
10.5 Swing常用组件(4) 296
10.5.1 对话框(JDialog) 296
10.5.2 消息框(JOptionPanel) 297
10.5.3 文件对话框(JFileChooser) 300
10.6 综合实例 303
第11章 并发 307
11.1 线程的创建与启动 307
11.1.1 继承java.lang.Thread类 307
11.1.2 实现Runnable接口 309
11.2 线程的状态转换 311
11.3 线程调度 313
11.3.1 调整各个线程的优先级 313
11.3.2 线程让步 314
11.3.3 合并线程 316
11.4 后台线程 317
11.5 线程互斥 318
11.5.1 临界区 318
11.5.2 对象锁机制 321
11.5.3 显式的Lock对象 324
11.6 线程同步 327
11.7 综合实例 331
第12章 综合实例 337
12.1 设计思路 337
12.2 汉诺塔上盘子模拟 337
12.3 汉诺塔上的对象的定位及盘子的存放 338
12.4 创建汉诺塔及实现手动搬运盘子 339
12.5 自动搬运盘子 347
第13章 JAVA网络编程 355
13.1 网络程序设计基础 355
13.1.1 TCP和UDP 355
13.1.2 端口和套接字 355
13.2 TCP网络编程 356
13.2.1 InetAddress类 358
13.2.2 TCP通信程序 360
13.3 UDP网络编程 364
13.3.1 UDP通信程序 366
13.3.2 组播 369
13.4 URL 373
13.4.1 URL类 373
13.4.2 URLConnetction类 375
13.5 综合实例 377
第14章 JDBC编程 383
14.1 SQL语言 383
14.2 JDBC 385
14.3 MySQL数据库 387
14.3.1 MySQL服务器的安装 388
14.3.2 MySQL服务器的配置 388
14.3.3 MySQL的环境 390
14.4 访问数据库 391
14.4.1 加载并注册数据库驱动 392
14.4.2 建立到数据库的连接 393
14.4.3 执行数据库的访问 394
14.5 JDBC编程 396
14.6 批处理 402
14.7 事务处理 405
14.8 综合实例 407
第2部分 习题集 410
第1章 Java和Eclipse集成开发环境 410
第2章 Java语法基础 410
第3章 Java面向对象编程(上) 411
第4章 Java面向对象编程(下) 411
第5章 常用类与异常处理 411
第6章 数组、枚举及注解 412
第7章 容器和泛型 412
第8章 Java输入/输出系统 412
第9章 AWT组件及应用 413
第10章 Swing常用组件 413
第11章 并发 414
第13章 Java网络编程 414
第14章 JDBC编程 414
第3部分 实验 416
实验1 在ECLIPSE集成开发环境中调试程序 416
实验目的 416
实验准备 416
实验内容 416
思考与练习题 418
实验2 JAVA语法基础 419
实验目的 419
实验准备 419
实验内容 419
思考与练习题 422
实验3 JAVA面向对象编程(上) 423
实验目的 423
实验准备 423
实验内容 423
思考与练习题 425
实验4 JAVA面向对象编程(下) 426
实验目的 426
实验准备 426
实验内容 426
思考与练习题 429
实验5 常用类与异常处理 430
实验目的 430
实验准备 430
实验内容 430
思考与练习题 433
实验6 数组、枚举及注解 434
实验目的 434
实验准备 434
实验内容 434
思考与练习题 437
实验7 容器和泛型 438
实验目的 438
实验准备 438
实验内容 438
思考与练习题 441
实验8 JAVA输入/输出系统 442
实验目的 442
实验准备 442
实验内容 442
思考与练习题 445
实验9 AWT组件及应用 447
实验目的 447
实验准备 447
实验内容 447
思考与练习题 453
实验10 SWING常用组件及应用 454
实验目的 454
实验准备 454
实验内容 454
思考与练习题 460
实验11 并发 461
实验目的 461
实验准备 461
实验内容 461
思考与练习题 464
实验13 Java网络编程 465
实验目的 465
实验准备 465
实验内容 465
思考与练习题 472
实验14 JDBC编程 473
实验目的 473
实验准备 473
实验内容 473
思考与练习题 480
第4部分 习题答案 481
第1章 习题答案 481
第2章 习题答案 481
第3章 习题答案 484
第4章 习题答案 486
第5章 习题答案 490
第6章 习题答案 491
第7章 习题答案 495
第8章 习题答案 497
第9章 习题答案 499
第10章 习题答案 502
第11章 习题答案 506
第13章 习题答案 506
第14章 习题答案 509