第1章 Java简介与Java SE程序开发环境 1
1.1 Java的发展 1
1.2 Java的3种平台 2
1.3 Java的特点 2
1.4 Java程序的运行机制与Java虚拟机 3
1.4.1 Java程序的运行机制 3
1.4.2 Java虚拟机 3
1.5 Java程序分类 4
1.6 JDK的安装与配置 4
1.6.1 JDK的安装 4
1.6.2 JDK环境变量的配置 5
1.7 JDK环境下开发Java程序 6
1.7.1 Java Application的开发 6
1.7.2 Java Applet的开发 10
1.8 Eclipse环境下开发Java程序 12
1.8.1 在Eclipse环境下开发Java Application 12
1.8.2 在Eclipse环境下开发Java Applet 14
1.9 其他几个问题 15
小结 16
习题1 16
第2章 Java语法基础 18
2.1 Java Application程序的基本输入、输出方法 18
2.1.1 Java向显示器(控制台)输出数据 18
2.1.2 Java从键盘读入数据 19
2.1.3 用Scanner灵活读入数据 20
2.2 Java注释 20
2.3 标识符与关键字 21
2.3.1 标识符 21
2.3.2 关键字 22
2.4 Java数据类型 22
2.4.1 基本数据类型 22
2.4.2 常量与变量 23
2.4.3 数据类型转换 26
2.4.4 引用数据类型 26
2.5 运算符与表达式 26
2.5.1 算术运算符及其表达式 27
2.5.2 关系运算符 28
2.5.3 逻辑运算符 28
2.5.4 位运算符 28
2.5.5 赋值运算符及其表达式 29
2.5.6 复合赋值运算符及其表达式 29
2.5.7 条件运算符及其表达式 30
2.5.8 instanceof运算符及其表达式 30
2.6 Java语句 30
2.7 Java程序流程控制 31
2.7.1 顺序结构 31
2.7.2 选择结构 31
2.7.3 循环结构 36
2.7.4 流程跳转语句 37
小结 39
习题2 39
第3章 Java面向对象程序设计基础 41
3.1 面向对象概述 41
3.1.1 类与对象的概念 41
3.1.2 面向对象的主要特性 42
3.2 Java类与对象 42
3.2.1 Java类的定义 42
3.2.2 构造方法与对象的创建 43
3.2.3 对象声明及创建的内存模型 45
3.2.4 对象间的赋值 46
3.3 方法重载 47
3.4 this关键字 48
3.5 static与静态成员 50
3.5.1 静态变量 50
3.5.2 静态方法 51
3.5.3 静态代码块 52
3.6 参数传递 54
3.7 类的关联与依赖关系 56
3.8 package与import关键字 57
3.8.1 Java中的包 57
3.8.2 用package关键字自定义包 58
3.8.3 用import关键字导入包 58
3.9 JavaBean 60
3.10 jar命令的用法 62
3.10.1 将应用程序打包为jar文件 63
3.10.2 生成jar文件扩展类库 64
3.10.3 Eclipse环境下的文件打包 65
小结 66
习题3 66
第4章 Java继承与多态 69
4.1 Java继承 69
4.2 权限修饰符 70
4.3 子类继承性 72
4.4 变量覆盖与方法重写 74
4.5 super的用法 76
4.6 对象的上下转型 80
4.7 instanceof关键字 82
4.8 多态 83
4.9 final修饰符 84
小结 85
习题4 85
第5章 Java抽象类与接口 87
5.1 抽象方法与抽象类 87
5.2 Java接口 89
5.3 Java接口回调 91
5.4 内部类 92
5.5 匿名类与匿名对象 95
5.6 面向抽象(接口)编程 99
5.7 接口的一个应用——工厂模式 101
5.8 Java内置注解简介 103
小结 106
习题5 106
第6章 Java数组与枚举 108
6.1 一维数组 108
6.2 数组间赋值 110
6.3 Arrays类中处理数组的系统方法 111
6.4 Java二维数组的定义及使用 112
6.5 Java对象数组 115
6.6 Java枚举类型 117
6.6.1 用enum定义枚举类型 117
6.6.2 枚举类型的构造方法 118
6.6.3 在switch结构中使用枚举类型 118
小结 119
习题6 119
第7章 Java常用工具类 121
7.1 Object类及其常用方法 121
7.2 基本数据类型包装类 125
7.3 String类 126
7.4 StringBuffer类 131
7.5 正则表达式 132
7.5.1 正则表达式简介 132
7.5.2 Pattern与Macther类 133
7.6 字符串解析方法 135
7.7 日期时间类 138
7.8 Math类 139
7.9 BigInteger类 141
7.10 Random类 141
7.11 其他常用类 142
7.12 Class类与Java的反射机制简介 144
小结 150
习题7 150
第8章 异常处理机制 152
8.1 Java异常处理概述 152
8.2 Java异常类 152
8.3 Java异常处理语法 153
8.4 强制检查异常和非强制检查异常 156
8.5 用户自定义异常 159
小结 161
习题8 161
第9章 Java组件与事件编程 162
9.1 Java A WT与Swing简介 162
9.2 容器和组件 162
9.3 Java布局管理器 164
9.3.1 FlowLayout 165
9.3.2 BorderLayout 166
9.3.3 GridLayout 166
9.3.4 CardLayout 167
9.3.5 GridBagLayout 169
9.3.6 BoxLayout 171
9.3.7 空布局 172
9.4 Java Swing常用的中间容器 173
9.5 Java事件编程机制 175
9.6 事件监听器对象的几种实现 180
9.6.1 窗体类自身实现相应事件监听器接口的方式 180
9.6.2 自定义外部类实现相应事件监听接口的方式 181
9.6.3 自定义外部类继承相应的事件适配器类的方式 182
9.6.4 匿名类实现事件监听器 183
9.7 Swing的常用组件及其事件编程 184
9.7.1 JButton 184
9.7.2 JLabel 184
9.7.3 JTextField 185
9.7.4 JTextArea 185
9.7.5 JRadioButton 185
9.7.6 JCheckBox 185
9.7.7 JComboBox 186
9.7.8 JList 186
9.7.9 JMenuBar、JMenu与JMenuItem 189
9.7.10 JPopupMenu 190
9.7.11 JToolBar 190
9.7.12 JTable 193
9.7.13 JTabbedPane 196
9.7.14 JTree 198
9.7.15 JDialog、 JOptionPane与JFileChooser 200
9.7.16 JSlider 203
9.7.17 JprogressBar 205
9.7.18 Timer 205
9.7.19 键盘事件示例 207
9.8 其他几个应用 209
9.8.1 更换窗体标题栏图标 209
9.8.2 让窗体在屏幕上居中显示 209
9.8.3 将窗体显示为任务栏图标 210
9.9 字体与颜色 211
9.9.1 Font类 211
9.9.2 Color类 211
9.10 GUI图形绘制 214
9.10.1 Graphics类 214
9.10.2 Canvas类 215
小结 218
习题9 218
第10章 Java数据库编程 220
10.1 JDBC简介 220
10.2 JDBC API 220
10.3 MySQL简介 223
10.4 数据库基本操作的SQL语法 224
10.5 MySQL的使用 224
10.6 JDBC数据库基本操作 226
10.7 运用JavaBean进行数据库操作 233
10.8 数据库的批处理与事务操作 237
10.9 JDBC操作Access数据库 247
小结 249
习题10 249
第11章 Java输入、输出流 250
11.1 Java输入、输出流概述 250
11.2 File类的应用 251
11.3 输入、输出流类 252
11.4 文件字节输入、输出流类 254
11.5 文件字符输入、输出流类 256
11.6 字节数组输入、输出流类 257
11.7 过滤流类 257
11.8 随机访问文件 259
11.9 Serializable接口与对象序列化 260
11.10 标准输入、输出流 262
11.11 文件对话框 263
11.12 用Desktop类打开文件 266
小结 266
习题11 267
第12章 Java多线程编程 268
12.1 程序、进程与线程 268
12.2 Java多线程机制 269
12.3 Java多线程实现的方法 269
12.4 线程的生命周期与状态转换 271
12.5 Java多线程调度机制 272
12.6 Thread类 273
12.7 线程的让步 276
12.8 线程的联合 277
12.9 多线程的互斥与同步 278
12.9.1 线程的互斥 278
12.9.2 互斥线程的协调 280
12.10 守护线程 283
12.11 线程之间的通信流类 284
小结 286
习题12 286
第13章 Java网络编程 288
13.1 Java网络编程概述 288
13.2 InetAddress类的应用 289
13.3 URL类的应用 290
13.3.1 URL简介 290
13.3.2 URL类的常用方法 290
13.4 URLConnection类 292
13.5 TCP、 UDP、端口与套接字 294
13.6 基于TCP的Socket网络编程 294
13.6.1 ServerSocket类 295
13.6.2 Socket类 295
13.6.3 Socket编程的一般流程 296
13.7 基于UDP的网络编程 305
13.7.1 DatagramPacket类 305
13.7.2 DatagramSocket类 306
13.7.3 基于UDP网络编程的一般流程 306
13.8 基于组播的网络编程 312
小结 315
习题13 315
第14章 Java泛型与集合类 316
14.1 泛型 316
14.1.1 泛型概述 316
14.1.2 泛型类 317
14.1.3 泛型构造方法 318
14.1.4 泛型方法 320
14.1.5 泛型通配符 320
14.1.6 泛型接口 322
14.1.7 子类泛型 323
14.1.8 引入泛型的好处 323
14.2 集合类与接口 324
14.2.1 Collection接口 324
14.2.2 Iterator接口 324
14.2.3 List接口 325
14.2.4 ArrayList类 325
14.2.5 LinkedList类 327
14.2.6 Collections类 329
14.2.7 Set接口 331
14.2.8 HashSet类 331
14.2.9 TreeSet类 332
14.2.10 EnumSet类 334
14.2.11 Map接口 334
14.2.12 HashMap类 335
14.2.13 SortedMap接口与TreeMap类 336
14.2.14 EnumMap类 337
小结 338
习题14 338
第15章 Java Applet编程简介 340
15.1 Java Applet简介 340
15.2 Apple程序的编写方法 340
15.3 Applet类的主要方法 342
15.4 〈applet〉标记的属性及Applet参数传递 344
15.5 Applet的组件与事件处理 345
小结 348
习题15 348
参考文献 349