第1章 第一个Java程序 1
1.1 程序的基本概念 1
1.2 Java程序的基本运行原理 3
1.3 创建面向对象的Java源程序 5
1.3.1 定义Monkey类 5
1.3.2 创建Monkey对象 6
1.3.3 程序入口main()方法 8
1.4 编译和运行Java程序 9
1.4.1 JDK简介 9
1.4.2 本范例的目录结构 10
1.4.3 编译Java源程序 11
1.4.4 运行Java程序 11
1.4.5 创建用于编译和运行Java程序的批处理文件 12
1.5 小结 13
第2章 Java语言的基本语法 15
2.1 Java源文件结构 15
2.2 关键字 16
2.3 标识符 17
2.4 Java语言大小写敏感 18
2.5 包声明语句 18
2.6 包引入语句 20
2.7 方法的声明 22
2.8 注释语句 23
2.9 编程规范 24
2.10 JavaDoc文档 25
2.11 编译和运行本章范例 26
2.12 小结 27
第3章 数据类型 29
3.1 基本数据类型 30
3.1.1 boolean类型 31
3.1.2 byte、short、int和long类型 31
3.1.3 char类型与字符编码 32
3.1.4 float和double类型 34
3.2 引用类型 34
3.3 基本类型与引用类型的区别 35
3.4 直接数 37
3.4.1 直接数的类型 37
3.4.2 直接数的赋值 38
3.5 小结 38
第4章 变量 41
4.1 变量的作用域 41
4.1.1 实例变量和静态变量 43
4.1.2 静态变量的作用 44
4.1.3 成员变量和局部变量同名 46
4.2 对象的默认引用:this 46
4.3 参数传递 47
4.4 变量的初始化及默认值 49
4.4.1 成员变量的初始化 50
4.4.2 局部变量的初始化 51
4.4.3 用new关键字创建对象 51
4.5 小结 53
第5章 基本类型操作符 55
5.1 操作符的优先级 56
5.2 整型操作符 57
5.2.1 一元整型操作符 57
5.2.2 二元整型操作符 57
5.3 浮点型操作符 58
5.4 比较操作符和逻辑操作符 59
5.4.1 比较操作符 59
5.4.2 逻辑操作符 60
5.5 特殊操作符“?:” 62
5.6 变量的赋值 63
5.7 基本数据类型转换 64
5.7.1 自动类型转换 64
5.7.2 强制类型转换 65
5.8 小结 66
第6章 流程控制 69
6.1 分支语句 72
6.1.1 if-else语句 72
6.1.2 switch语句 74
6.2 循环语句 77
6.2.1 while语句 77
6.2.2 do-while语句 79
6.2.3 for语句 80
6.3 流程跳转语句 81
6.4 小结 82
第7章 继承 85
7.1 继承的基本语法 87
7.2 方法重载(Overload) 89
7.3 方法覆盖(Override) 91
7.4 方法覆盖与方法重载的异同 93
7.5 super关键字 94
7.6 多态 95
7.7 小结 100
第8章 引用类型操作符 103
8.1 字符串连接操作符“+” 103
8.2 操作符“==”与对象的equals()方法 105
8.2.1 操作符“== 105
8.2.2 对象的equals()方法 106
8.3 操作符“!=” 108
8.4 引用变量的赋值和类型转换 108
8.5 instanceof操作符 110
8.6 小结 111
第9章 访问控制修饰符 113
9.1 封装类的部分属性和方法 115
9.2 4种访问控制级别 116
9.3 小结 119
第10章 abstract(抽象)修饰符 121
10.1 abstract修饰符的修饰内容 121
10.2 abstract修饰符的语法规则 122
10.3 抽象类不能被实例化 123
10.4 小结 124
第11章 final(不可改变)修饰符 125
11.1 final类 126
11.2 final方法 126
11.3 final变量 127
11.4 小结 130
第12章 static(静态)修饰符 131
12.1 static变量 132
12.2 static方法 132
12.2.1 静态方法可访问的内容 133
12.2.2 实例方法可访问的内容 134
12.2.3 静态方法必须被实现 135
12.2.4 作为程序入口的main()方法是静态方法 135
12.3 static代码块 136
12.4 小结 137
第13章 接口 139
13.1 接口的概念和语法规则 141
13.2 比较抽象类与接口 145
13.3 小结 147
第14章 对象的生命周期 149
14.1 对象的构造方法 149
14.1.1 重载构造方法 150
14.1.2 默认构造方法 152
14.1.3 子类调用父类的构造方法 153
14.2 垃圾回收 158
14.2.1 垃圾回收的时机 159
14.2.2 对象的finalize()方法 161
14.3 小结 161
第15章 内部类 165
15.1 内部类的种类 167
15.2 成员内部类 167
15.2.1 实例内部类 169
15.2.2 静态内部类 171
15.3 局部内部类 172
15.4 匿名类 173
15.5 小结 176
第16章 异常处理 177
16.1 Java异常处理机制概述 178
16.2 运用Java异常处理机制 181
16.2.1 try-catch语句:捕获异常 181
16.2.2 finally语句:任何情况下必须执行的代码 182
16.2.3 throws子句:声明可能会出现的异常 184
16.2.4 throw语句:抛出异常 184
16.2.5 异常处理语句的语法规则 185
16.2.6 异常流程的运行过程 187
16.3 Java异常类 189
16.3.1 运行时异常 192
16.3.2 受检查异常(Checked Exception) 193
16.3.3 区分运行时异常和受检查异常 193
16.4 用户定义异常 194
16.5 小结 195
第17章 数组 197
17.1 数组简介 199
17.2 数组变量的声明 199
17.3 创建数组对象 200
17.4 访问数组的元素和长度 201
17.5 数组的初始化 203
17.6 调用数组对象的方法 204
17.7 把数组作为方法参数 204
17.8 数组排序 206
17.9 小结 207
第18章 输入/输出 209
18.1 输入流和输出流概述 210
18.2 输入流 211
18.3 过滤输入流:FilterInputStream 212
18.3.1 BufferedInputStream类 212
18.3.2 DatalnputStream类 213
18.4 输出流 215
18.5 过滤输出流:FilterOutputStream 215
18.5.1 DataOutputStream 215
18.5.2 BufferedOutputStream 216
18.5.3 PrintStream类 217
18.6 Reader/Writer概述 218
18.7 Reader类 219
18.7.1 InputStreamReader类 219
18.7.2 FileReader类 220
18.7.3 BufferedReader类 220
18.8 Writer类 221
18.8.1 OutputStreamWriter类 221
18.8.2 FileWriter类 222
18.8.3 BufferedWriter类 222
18.8.4 PrintWriter类 222
18.9 读写文本文件的范例 223
18.10 随机访问文件类:RandomAccessFile 226
18.11 File类 227
18.12 小结 229
第19章 多线程(上) 233
19.1 Java线程的运行机制 234
19.2 线程的创建和启动 235
19.2.1 扩展java.lang.Thread类 235
19.2.2 实现java.lang.Runnable接口 237
19.3 线程的状态转换 239
19.3.1 新建状态(New) 239
19.3.2 就绪状态(Runnable) 239
19.3.3 运行状态(Running) 240
19.3.4 阻塞状态(Blocked) 240
19.3.5 死亡状态(Dead) 240
19.3.6 线程状态转换举例 240
19.4 线程调度 241
19.4.1 调整各个线程的优先级 242
19.4.2 线程睡眠:Thread.sleep()方法 243
19.4.3 线程让步:Thead.yield()方法 244
19.4.4 等待其他线程结束:join() 245
19.5 获得当前线程对象的引用 246
19.6 小结 247
第20章 多线程(下) 251
20.1 线程的同步 253
20.1.1 同步代码块 256
20.1.2 线程同步的特征 258
20.2 线程通信 260
20.3 小结 265
第21章 图形用户界面 267
21.1 AWT容器 268
21.2 布局管理器 270
21.2.1 FlowLayout流式布局管理器 271
21.2.2 BorderLayout边界布局管理器 273
21.2.3 GridLayout网格布局管理器 276
21.2.4 CardLayout卡片布局管理器 278
21.3 事件处理 281
21.3.1 事件处理的软件实现 282
21.3.2 采用事件适配器 283
21.4 AWT绘图 285
21.5 Graphics类 288
21.6 创建动画 288
21.7 小结 292
第22章 Swing组件 295
22.1 Swing组件的基本用法 296
22.2 文本框和文本区域 298
22.3 下拉列表 301
22.4 菜单 302
22.5 绘图 304
22.6 设置Swing界面的外观和感觉 306
22.7 小结 309