图书目录

目 录

第 1篇  Java语言基础

第 1章 Java语言概述 ....................................................................................................2 

1.1面向对象程序设计的特性 ............................................................................................ 2 

1.2  Java开发和运行环境 .................................................................................................... 3 

1.3  Java程序及调试步骤 .................................................................................................... 4 

1.3.1 在 DOS环境下调试 Java程序 ................................................................................................ 4 

1.3.2 在 Eclipse环境下调试 Java程序............................................................................................. 8 

1.4  Java语言的特点 ............................................................................................................ 9 

第 2章数据类型与表达式 ............................................................................................11 

2.1  Java符号...................................................................................................................... 11 

2.1.1 标识符 ..................................................................................................................................... 11 

2.1.2 关键字 ..................................................................................................................................... 12 

2.1.3 分隔符 ..................................................................................................................................... 12 

2.1.4 注释......................................................................................................................................... 13 

2.2数据类型与常量和变量 .............................................................................................. 13 

2.2.1 数据类型 ................................................................................................................................. 13 

2.2.2 常量......................................................................................................................................... 14 

2.2.3 变量......................................................................................................................................... 16 

2.3表达式与运算符 .......................................................................................................... 19 

2.3.1 算术运算符 ............................................................................................................................. 20 

2.3.2 关系运算符 ............................................................................................................................. 21 

2.3.3 逻辑运算符 ............................................................................................................................. 22 

2.3.4 位运算符 ................................................................................................................................. 23 

2.3.5 赋值组合运算符 ..................................................................................................................... 24 

2.3.6 其他运算符 ............................................................................................................................. 24 

2.3.7 运算符优先级 ......................................................................................................................... 25 

2.4常用数学方法 .............................................................................................................. 26 

2.5数据的输入 /输出......................................................................................................... 27 

2.5.1 使用标准输入 /输出流 ............................................................................................................ 27 

2.5.2 用 Swing对话框实现输入/输出 ............................................................................................ 30 

2.5.3 使用 java.util.Scanner类 ........................................................................................................ 31 

·VI·Java语言程序设计(第 4版) 

第 3章流程控制语句 ...................................................................................................33 

3.1算法与流程图 .............................................................................................................. 33 

3.1.1 算法表示 ................................................................................................................................. 33 

3.1.2 传统流程图和 N-S结构流程图 ............................................................................................. 34 

3.2条件选择语句 .............................................................................................................. 34 

3.2.1 if语句...................................................................................................................................... 34 

3.2.2 多分支语句 switch .................................................................................................................. 37 

3.3循环语句 ...................................................................................................................... 39 

3.3.1 while语句 ............................................................................................................................... 39 

3.3.2 do…while语句 ....................................................................................................................... 41 

3.3.3 for语句 ................................................................................................................................... 42 

3.3.4 循环嵌套 ................................................................................................................................. 43 

3.4跳转语句 ...................................................................................................................... 44 

3.4.1 break语句 ............................................................................................................................... 44 

3.4.2 continue语句 .......................................................................................................................... 45

第 4章数组与方法 .......................................................................................................47 

4.1数组.............................................................................................................................. 47 

4.1.1 一维数组 ................................................................................................................................. 47 

4.1.2 多维数组 ................................................................................................................................. 50 

4.2方法...................................................................................................................... 51 

4.2.1 方法声明 ................................................................................................................................. 51 

4.2.2 方法调用 ................................................................................................................................. 52 

4.2.3 参数传递 ................................................................................................................................. 53 

4.2.4 递归......................................................................................................................................... 55 

4.2.5 方法的可变长参数 ................................................................................................................. 55 

4.3  Java的命令行参数 ...................................................................................................... 56 

4.4数组工具类 Arrays ...................................................................................................... 57 

第 2篇  Java面向对象的核心概念与应用

第 5章类与对象 ..........................................................................................................62 

5.1类的定义 ...................................................................................................................... 62 

5.2对象的创建与引用 ...................................................................................................... 63 

5.2.1 创建对象及访问对象成员 ..................................................................................................... 63 

5.2.2 对象的初始化和构造方法 ..................................................................................................... 65 

5.3理解 this ....................................................................................................................... 66 

5.4类变量和静态方法 ...................................................................................................... 67 

目录 ·VII· 

5.4.1 类变量 ..................................................................................................................................... 67 

5.4.2 静态方法 ................................................................................................................................. 69 

5.5变量的作用域 .............................................................................................................. 70 

5.6使用包组织类 .............................................................................................................. 72 

5.6.1 Java API简介.......................................................................................................................... 72 

5.6.2 建立包 ..................................................................................................................................... 73 

5.6.3 包的引用 ................................................................................................................................. 73 

第 6章继承与多态 .......................................................................................................75 

6.1继承.............................................................................................................................. 75 

6.1.1 Java继承的实现 ..................................................................................................................... 75 

6.1.2 构造方法在类继承中的作用 ................................................................................................. 76 

6.2多态性.......................................................................................................................... 77 

6.2.1 方法的重载 ............................................................................................................................. 78 

6.2.2 方法的覆盖 ............................................................................................................................. 80 

6.3几个特殊类 .................................................................................................................. 81 

6.3.1 Object类 ................................................................................................................................. 81 

6.3.2 Class类 ................................................................................................................................... 82 

6.4对象引用转换和访问继承成员 .................................................................................. 84 

6.4.1 对象引用转换 ......................................................................................................................... 84 

6.4.2 访问继承成员 ......................................................................................................................... 85 

6.5访问控制符 .................................................................................................................. 86 

6.6  final修饰符的使用 ...................................................................................................... 88 

第 7章常用数据类型处理类 .........................................................................................90 

7.1字符串的处理 .............................................................................................................. 90 

7.1.1 String类 .................................................................................................................................. 90 

7.1.2 StringBuffer类........................................................................................................................ 96 

7.2基本数据类型包装类 .................................................................................................. 97 

7.3 BigInteger类................................................................................................................ 98 

7.4日期和时间类 ............................................................................................................ 100 

7.4.1 Date类和 SimpleDateFormat类........................................................................................... 100 

7.4.2 Calendar类............................................................................................................................ 101 

7.4.3 Java 8新增的日期和时间类 ................................................................................................ 102 

第 8章抽象类、接口与内嵌类 ................................................................................... 104 

8.1抽象类和抽象方法 .................................................................................................... 104 

8.1.1 抽象类的定义 ....................................................................................................................... 104 

8.1.2 抽象类的应用 ....................................................................................................................... 104 

·VIII· Java语言程序设计(第 4版) 

8.2接口............................................................................................................................ 107 

8.2.1 接口的定义 ........................................................................................................................... 107 

8.2.2 接口的实现 ........................................................................................................................... 108 

8.3内嵌类........................................................................................................................ 109 

8.3.1 成员类 ................................................................................................................................... 109 

8.3.2 静态内嵌类 ........................................................................................................................... 111 

8.3.3 方法中的内嵌类与匿名内嵌类 ............................................................................................ 112 

第 3篇  Java语言的高级特性与应用

第 9章异常处理 ........................................................................................................ 116 

9.1异常的概念 ................................................................................................................ 116 

9.1.1 什么是异常 ........................................................................................................................... 116 

9.1.2 异常的类层次 ....................................................................................................................... 117 

9.1.3 系统定义的异常 ................................................................................................................... 118 

9.2异常的处理结构 ........................................................................................................ 119 

9.3自定义异常 ................................................................................................................ 121 

9.3.1 自定义异常类设计 ............................................................................................................... 121 

9.3.2 抛出异常 ............................................................................................................................... 121 

9.3.3 方法的异常声明 ................................................................................................................... 122 

第 10章  Java绘图 ..................................................................................................... 124 

10.1 Java的图形绘制 ...................................................................................................... 124 

10.1.1 Java图形坐标与图形绘图 ................................................................................................. 124 

10.1.2 各类图形的绘制方法 ......................................................................................................... 125 

10.1.3 颜色控制 ............................................................................................................................. 126 

10.1.4 显示文字 ............................................................................................................................. 128 

10.2 Java 2D图形绘制.................................................................................................... 130 

10.3 绘制图像 .................................................................................................................. 135 

第 11章图形用户界面编程基础 ................................................................................. 138 

11.1 图形用户界面核心概念 .......................................................................................... 138 

11.1.1 引例..................................................................................................................................... 138 

11.1.2 图形界面的外观设计 ......................................................................................................... 139 

11.1.3 事件处理 ............................................................................................................................. 139 

11.2 容器与布局管理 ...................................................................................................... 144 

11.2.1 FlowLayout(流式布局).................................................................................................. 144 

11.2.2 BorderLayout(边缘或方位布局) ................................................................................... 145 

目录 ·IX· 

11.2.3 GridLayout(网格布局)................................................................................................... 146 

11.2.4 CardLayout(卡片式布局) .............................................................................................. 147 

11.2.5 GridBagLayout(网格块布局) ........................................................................................ 147 

11.3 常用 GUI部件......................................................................................................... 148 

11.3.1 GUI部件概述 ..................................................................................................................... 148 

11.3.2 文本框与文本域 ................................................................................................................. 149 

11.4 鼠标和键盘事件 ...................................................................................................... 151 

11.4.1 鼠标事件 ............................................................................................................................. 151 

11.4.2 键盘事件 ............................................................................................................................. 153 

第 12章输入/输出与文件处理.................................................................................... 156 

12.1 输入/输出基本概念................................................................................................. 156 

12.2 文件与目录操作 ...................................................................................................... 157 

12.3 面向字节的输入 /输出流......................................................................................... 159 

12.3.1 面向字节的输入流 ............................................................................................................. 159 

12.3.2 面向字节的输出流 ............................................................................................................. 161 

12.4 对象输入 /输出流..................................................................................................... 163 

12.5 面向字符的输入 /输出流......................................................................................... 165 

12.5.1 面向字符的输入流 ............................................................................................................. 165 

12.5.2 面向字符的输出流 ............................................................................................................. 166 

12.6 转换流...................................................................................................................... 168 

12.7 文件的随机访问 ...................................................................................................... 170 

12.8 使用 NIO进行输入输出......................................................................................... 171 

12.8.1 Paths类和 Files类.............................................................................................................. 171 

12.8.2 使用通道和缓冲区 ............................................................................................................. 173 

第 13章  Java泛型与收集 API.................................................................................... 176 

13.1 Java泛型.................................................................................................................. 176 

13.1.1 Java泛型简介 ..................................................................................................................... 176 

13.1.2 关于 Comparable<T>与 Comparator<T>接口 ................................................................... 177 

13.2 收集 API简介 ......................................................................................................... 179 

13.2.1 Collection接口.................................................................................................................... 180 

13.2.2 Set接口 ............................................................................................................................... 180 

13.2.3 List接口.............................................................................................................................. 181 

13.2.4 Queue接口.......................................................................................................................... 183 

13.3 Collections类........................................................................................................... 184 

13.4 Map接口及实现层次 .............................................................................................. 187 

第 14章 Lambda表达式、Stream与枚举类型 .......................................................... 190 

·X· Java语言程序设计(第 4版) 

14.1 Lambda表达式........................................................................................................ 190 

14.1.1 何为 Lambda表达式 .......................................................................................................... 190 

14.1.2 Java 8的常用函数式接口 .................................................................................................. 192 

14.1.3 方法引用 ............................................................................................................................. 193 

14.2 Stream ...................................................................................................................... 194 

14.2.1 Stream的创建..................................................................................................................... 194 

14.2.2 Stream操作......................................................................................................................... 196 

14.3 Java枚举类型 .......................................................................................................... 202 

14.3.1 枚举类型的定义 ................................................................................................................. 202 

14.3.2 Enum类的常用方法........................................................................................................... 203 

第 15章多线程 .......................................................................................................... 205 

15.1 Java线程的概念 ...................................................................................................... 205 

15.1.1 多进程与多线程 ................................................................................................................. 205 

15.1.2 线程的状态 ......................................................................................................................... 205 

15.1.3 线程调度与优先级 ............................................................................................................. 206 

15.2 Java多线程编程方法 .............................................................................................. 206 

15.2.1 Thread类简介..................................................................................................................... 206 

15.2.2 继承 Thread类实现多线程 ................................................................................................ 207 

15.2.3 实现 Runnable接口编写多线程 ........................................................................................ 208 

15.3 线程资源的同步处理 .............................................................................................. 210 

15.3.1 临界资源问题 ..................................................................................................................... 210 

15.3.2 wait()和 notify()方法........................................................................................................... 211 

第 16章  Swing图形界面编程 ..................................................................................... 213 

16.1 Swing包简介........................................................................................................... 213 

16.2 Swing对话框的使用............................................................................................... 214 

16.2.1 JOptionPane类对话框........................................................................................................ 214 

16.2.2 颜色对话框 ......................................................................................................................... 217 

16.2.3 文件选择对话框 ................................................................................................................. 217 

16.3 Swing典型容器及部件........................................................................................... 218 

16.3.1 JFrame类 ............................................................................................................................ 218 

16.3.2 Swing部件的图形绘制 ...................................................................................................... 219 

16.4 Swing的各类选择部件........................................................................................... 221 

16.5 Swing下拉菜单与工具栏....................................................................................... 224 

16.5.1 Swing下拉菜单 .................................................................................................................. 224 

16.5.2 Swing工具栏...................................................................................................................... 226 

16.6 表格的使用 .............................................................................................................. 227 

目录 ·XI· 

16.6.1 表格的构造 ......................................................................................................................... 227 

16.6.2 表格元素的访问处理 ......................................................................................................... 228 

16.6.3 表格的事件处理 ................................................................................................................. 229 

第 17章  JDBC技术与数据库应用.............................................................................. 231 

17.1 关系数据库概述 ...................................................................................................... 231 

17.2 JDBC API ................................................................................................................. 231 

17.3 JDBC基本应用 ....................................................................................................... 233 

17.3.1 数据库查询 ........................................................................................................... 233 

17.3.2 数据库的更新 ..................................................................................................................... 236 

17.3.3 用 PreparedStatement类实现 SQL操作 ............................................................................ 236 

17.4 数据库应用案例 ...................................................................................................... 238 

17.4.1 个人通信录管理应用设计 ................................................................................................. 238 

17.4.2 简单教学测试应用设计 ..................................................................................................... 239 

第 18章  Java的网络编程 .......................................................................................... 246 

18.1 网络编程基础 .......................................................................................................... 246 

18.1.1 网络协议 ............................................................................................................................. 246 

18.1.2 InetAddress类..................................................................................................................... 246 

18.2 Socket通信 .............................................................................................................. 247 

18.2.1 Java的 Socket编程原理 .................................................................................................... 247 

18.2.2 简单多用户聊天程序的实现 ............................................................................................. 248 

18.3 无连接的数据报 ...................................................................................................... 251 

18.4 URL.......................................................................................................................... 252 

18.4.1 URL类 ................................................................................................................................ 253 

18.4.2 URLConnection类.............................................................................................................. 253 

参考文献....................................................................................................................... 255

附录 A 正则表达式简介 .............................................................................................. 256