第1章 认识Java 1
1.1 Java的历史 1
1.2 Java的现状 2
1.3 Java的特点 2
1.3.1 Java语言的优点 2
1.3.2 Java语言的关键特性 3
1.4 Java虚拟机(JVM) 4
1.5 Java的开发工具与开发环境 5
1.5.1 JDK的下载、安装及环境变量配置 5
1.5.2 JDK的主要开发工具Eclipse 8
1.6 编写第一个Java程序 11
实训 Java程序的运行 12
习题 13
第2章 简单的Java程序 14
2.1 一个简单的例子 14
2.2 简单的Java程序解析 16
2.2.1 类(class) 16
2.2.2 大括号、段及主体 16
2.2.3 程序运行的起始点main()method 17
2.2.4 Java程序的注释 17
2.2.5 Java中的标识符 18
2.2.6 Java的关键字 18
2.2.7 变量 19
2.2.8 变量的设置 19
2.2.9 println() 20
2.3 程序的检测 20
2.4 提高程序的可读性 22
实训 Java程序的运行 23
习题 24
第3章 Java基本程序设计 25
3.1 变量与数据类型 25
3.1.1 变量与常量 25
3.1.2 Java的变量类型 26
3.1.3 基本数据类型 26
3.1.4 数据类型的转换 35
案例1 数据类型转换 37
3.2 运算符、表达式与语句 38
3.2.1 表达式与运算符 38
3.2.2 运算符的优先级 46
3.2.3 表达式 47
3.2.4 表达式的类型转换 49
案例2 根据成绩计算绩点 50
3.3 循环与选择性语句 51
3.3.1 程序的结构设计 51
3.3.2 选择结构 52
3.3.3 多重选择语句——switch语句 56
3.3.4 while循环 58
3.3.5 do...while循环 60
3.3.6 for循环 61
3.3.7 循环嵌套 62
3.3.8 循环的跳离 64
3.3.9 局部变量 66
案例3 利用循环输出图形 67
实训 输出某年某个月的天数 68
习题 70
第4章 数组与方法 72
4.1 一维数组 72
4.1.1 一维数组的声明与内存的分配 72
4.1.2 数组中元素的表示方法 74
4.1.3 数组初值的赋值 75
4.1.4 与数组操作有关的API方法 75
案例1 找出数组元素中的最大值与最小值 77
4.2 二维数组 78
4.2.1 二维数组的声明与分配内存 78
4.2.2 二维数组元素的引用及访问 80
4.3 多维数组 80
4.4 方法 81
4.4.1 方法操作的简单范例 82
4.4.2 方法的参数与返回值 83
4.4.3 方法的重载 84
4.4.4 将数组传递到方法中 85
案例2 遍历数组 88
实训 逆序输出一个数组 89
习题 90
第5章 类的基本形式 91
5.1 面向对象程序设计的基本概念 91
5.1.1 对象 92
5.1.2 类 92
5.1.3 封装性 92
5.1.4 继承性 93
5.1.5 类的多态性 93
5.2 类与对象 93
5.2.1 类的声明 94
5.2.2 创建新的对象 95
5.2.3 创建多个新对象 97
案例1 对象组合案例 98
5.3 类的封装性 99
5.4 在类内部调用方法 105
5.5 引用数据类型的传递 106
5.6 匿名对象 110
5.7 构造方法 110
5.8 对象的比较 115
5.9 this关键字的使用 118
5.10 static关键字的使用 123
5.10.1 静态变量 123
5.10.2 静态方法 127
5.10.3 main()方法 130
5.10.4 静态代码块 131
案例2 static成员变量和实例变量的区别 132
5.11 构造方法的私有 133
5.12 对象数组的使用 135
实训 计算面积 136
习题 138
第6章 类的继承 140
6.1 继承的基本概念 140
6.1.1 子类对象的实例化过程 142
6.1.2 super关键字的使用 146
6.1.3 限制子类的访问 148
6.1.4 复写 150
案例1 继承案例 154
6.2 抽象类 156
6.3 Object类 159
6.4 final关键字 161
6.5 接口(interface) 163
案例2 接口案例 166
6.6 对象的多态性 167
6.6.1 instanceof关键字的使用 170
6.6.2 复写Object类中的equals方法 172
6.6.3 接口对象的实例化 174
6.7 匿名内部类 177
实训 上转型对象调用子类重写 179
习题 180
第7章 异常处理 184
7.1 异常的基本概念 184
7.1.1 异常处理的目的 184
7.1.2 简单的异常范例 184
7.1.3 发生异常时的处理 185
7.1.4 异常处理的方法 188
7.2 异常类的继承架构 188
7.3 抛出异常 189
7.3.1 在程序中抛出异常 189
7.3.2 指定方法抛出异常 190
7.4 编写自己的异常类 192
习题 193
第8章 包及访问权限 197
8.1 包的概念及使用 197
8.1.1 包(package)的基本概念 197
8.1.2 import语句的使用 198
8.1.3 JDK中常见的包 200
8.2 类成员的访问控制权限 200
8.3 Java的命名习惯 202
习题 202
第9章 多线程 205
9.1 进程与线程 205
9.2 认识线程 206
9.2.1 通过继承Thread类实现多线程 207
9.2.2 通过实现Runnable接口实现多线程 209
9.2.3 两种多线程实现机制的比较 211
9.3 线程的状态 216
9.4 线程操作的一些方法 217
9.4.1 取得和设置线程的名称 218
9.4.2 线程是否启动的判断 221
9.4.3 后台线程与setDaemon()方法 222
9.4.4 线程的强制运行 223
9.4.5 线程的休眠 225
习题 227
第10章 文件IO操作 229
10.1 File类 229
10.2 RandomAccessFile类 231
案例1 随机流 234
10.3 流类 234
10.3.1 字节流 235
10.3.2 字符流 239
10.3.3 管道流 243
10.3.4 ByteArrayInputStream与ByteArrayOutputStream 245
10.3.5 System.in和System.out 247
10.3.6 打印流 247
10.3.7 DataInputStream与DataOutputStream 249
10.3.8 合并流 253
10.3.9 字节流与字符流的转换 255
10.3.10 IO包中的类层次关系图 257
案例2 缓冲流案例 258
10.4 字符编码 260
10.5 对象序列化 263
实训 使用数据流读、写文件 265
习题 266
第11章 Java常用类库 268
11.1 API概念 268
11.2 String类和StringBuffer类 268
11.3 基本数据类型的包装类 269
11.4 System类与Runtime类 270
11.4.1 System类 270
11.4.2 Runtime类 272
11.5 Date与Calendar、DateFormat类 272
11.6 Math与Random类 274
实训 使用Date类或Calendar类处理日期、时间 275
习题 276
第12章 Java网络程序设计 277
12.1 Socket介绍 277
12.2 Socket程序 278
12.3 DatagramSocket程序 286
实训 使用套接字进行简单的网络通信 289
习题 291
第13章 图形用户界面设计 292
13.1 GUI概述 292
13.1.1 AWT简介 292
13.1.2 Swing简介 293
13.2 组件的创建与使用 293
13.3 布局管理器 298
13.4 事件处理 302
实训 制作简单的计算器 313
习题 317
附录 Java定义的格式 318
参考文献 326