第1章 Java简介 1
1.1 Java语言简介 1
1.1.1 Java语言发展历史 2
1.1.2 Java语言特点 2
1.2 Java平台及主要应用方向 4
1.3 Java的运行机制及JVM 5
1.4 Java的相关术语 6
1.4.1什么是JDK 6
1.4.2什么是JRE 7
1.5 Java开发环境的搭建 7
1.5.1 JDK的安装 7
1.5.2 MyEclipse的安装 12
1.6 Java程序的编写与运行 14
1.6.1第一个Java程序 14
1.6.2第一个Applet程序 16
1.6.3使用MyEclipse运行Java程序 17
1.7 Java程序的一些特殊语句 22
1.7.1输出语句 22
1.7.2注释语句 23
1.8生成Java文档 24
1.9本章小结 27
理论练习题 28
上机实训题 29
第2章 Java基础 30
2.1面向对象的基本概念 30
2.1.1类和对象 30
2.1.2属性与方法 30
2.1.3对象的继承 31
2.1.4对象的重用 31
2.1.5对象的封装 32
2.1.6对象的多态性 32
2.2 Java语言中类的定义 32
2.2.1类的属性 33
2.2.2类的方法 33
2.2.3案例分析:一个简单的Java程序 35
2.3常量和变量 36
2.3.1常量 36
2.3.2变量 37
2.3.3标识符和关键字 37
2.4数据类型 38
2.4.1基本数据类型 38
2.4.2各类型数据间的相互转换 42
2.5运算符和表达式 44
2.5.1算术运算符和算术表达式 45
2.5.2案例分析:温度转换 47
2.5.3赋值运算符和赋值表达式 47
2.5.4关系运算符和关系表达式 49
2.5.5逻辑运算符和逻辑表达式 49
2.5.6条件运算符与条件表达式 52
2.5.7位运算符和移位运算符 52
2.5.8运算符优先级 55
2.5.9案例分析:运算符优先级 56
2.6本章小结 57
理论练习题 57
上机实训题 58
第3章 程序流程控制 60
3.1程序的流程控制 60
3.2选择结构 61
3.2.1 if语句 61
3.2.2案例分析:闰年问题 65
3.2.3 switch语句 65
3.2.4案例分析:划分成绩等级 69
3.3循环结构 70
3.3.1 for语句 70
3.3.2案例分析:计算平均成绩1 71
3.3.3 while语句 72
3.3.4案例分析:计算平均成绩2 72
3.3.5 do-while语句 73
3.4跳转语句 75
3.4.1 break语句 75
3.4.2 continue语句 76
3.4.3 return语句 76
3.5本章小结 77
理论练习题 77
上机实训题 78
第4章 数组 79
4.1一维数组 79
4.1.1数组的声明 79
4.1.2数组的创建 80
4.1.3数组的访问 81
4.2多维数组 82
4.2.1二维数组声明与初始化 83
4.2.2二维数组元素的引用 84
4.3字符数组 85
4.3.1字符数组与字符串 85
4.3.2字符串 85
4.3.3字符串数组 86
4.4数组作为方法的参数 87
4.5本章小结 87
理论练习题 88
上机实训题 89
第5章 类和对象 90
5.1对象的定义和引用 90
5.1.1构造方法 90
5.1.2对象的创建 91
5.1.3对象的使用 93
5.1.4对象的销毁 93
5.2案例分析:银行账户对象的创建 93
5.3静态成员与实例成员 95
5.3.1静态属性与实例属性 95
5.3.2静态方法与实例方法 96
5.3.3静态成员与实例成员的特征 96
5.3.4关键字this的使用 97
5.4方法的重载 99
5.4.1成员方法的重载 99
5.4.2构造方法的重载 99
5.5案例分析:银行账户类构造方法的重载 100
5.6类的封装和访问控制 102
5.6.1类的封装 102
5.6.2访问控制 102
5.7案例分析:简单的银行账户管理程序 105
5.8本章小结 111
理论练习题 113
上机实训题 116
第6章 类和对象的扩展 117
6.1类的继承 117
6.1.1继承的引入 117
6.1.2子类的定义和使用 118
6.1.3成员变量的隐藏 119
6.1.4方法的覆盖 120
6.1.5 super关键字 122
6.1.6 final关键字 122
6.2案例分析:VIP银行账户类的创建 123
6.3多态 127
6.3.1多态的概念 127
6.3.2向上转型 127
6.3.3向下转型 128
6.4抽象类 129
6.4.1抽象方法的声明 129
6.4.2抽象类的声明 130
6.4.3抽象类的使用 130
6.5内部类与外部类 132
6.6包 133
6.6.1包的创建 133
6.6.2包的引用 135
6.7案例分析:改进的银行账户管理程序 136
6.8接口 141
6.8.1接口的定义 141
6.8.2接口的实现与使用 142
6.8.3接口的继承 143
6.8.4嵌套接口 144
6.9 Java异常处理机制 145
6.9.1异常处理概述 145
6.9.2异常分类 146
6.9.3异常的处理 147
6.9.4自定义异常类 150
6.10本章小结 151
理论练习题 152
上机实训题 153
第7章 Java常用系统类 154
7.1 Java API 154
7.2字符串类 156
7.2.1 String类 156
7.2.2 StringBuffer类 164
7.2.3 StringTokenizer类 166
7.3 Math类与Random类 167
7.3.1 Math类 167
7.3.2 Random类 169
7.4 Date类与Calendar类 170
7.4.1 Date类 170
7.4.2 Calendar类 173
7.5 Java基本类型包装器与泛型 174
7.5.1基本类型包装器 174
7.5.2泛型 175
7.6集合类 177
7.6.1 ArrayList类 177
7.6.2 Vector类 178
7.6.3 HashSet类 180
7.6.4 Hashtable类 182
7.7迭代器 183
7.8案例分析:利用ArrayList类存储银行账户类 186
7.9本章小结 189
理论练习题 190
上机实训题 193
第8章 Java输入输出系统 195
8.1流的基本概念 195
8.2字节流 196
8.3字符流 198
8.4 File类 199
8.5 System.in和System.out对象 201
8.6 FileInputStream类和FileOutputStream类 202
8.7 FileReader类和FileWriter类 203
8.8过滤流 204
8.9文件的随机访问 206
8.10案例分析:多种流的实现 208
8.11本章小结 209
理论练习题 210
上机实训题 212
第9章 GUI图形用户界面 213
9.1 Swing概述 213
9.2 Swing容器 218
9.2.1 JFrame框架 218
9.2.2 JPanel面板 221
9.2.3 JDialog对话框 222
9.2.4 Swing其他容器 223
9.2.5案例分析:Swing容器综合实例 224
9.3常用Swing组件 227
9.3.1 JLabel标签组件 227
9.3.2 JTextField文本框和JTextArea文本区 228
9.3.3 JButton按钮组件 230
9.3.4 JCheckBox复选框和JRadioButton单选框 231
9.3.5 JList列表框组件 232
9.3.6 JComboBox下拉列表框组件 233
9.3.7 JMenu菜单组件 234
9.3.8案例分析:常用Swing组件综合实例 237
9.4 GUI布局管理器 243
9.4.1 FlowLayout流式布局管理器 243
9.4.2 BorderLayout边界布局管理器 245
9.4.3 CardLayout卡片布局管理器 246
9.4.4 GridLayout网格布局管理器 248
9.4.5 GridBagLayout网格包布局管理器 249
9.4.6 BoxLayout网球布局管理器 250
9.4.7案例分析:布局管理器综合实例 251
9.5事件处理模型 254
9.5.1事件处理机制 254
9.5.2事件处理类 256
9.5.3事件适配器 259
9.5.4案例分析:键盘和鼠标事件类综合实例 260
9.6本章小结 263
理论练习题 263
上机实训题 265
第10章 线程 266
10.1线程概念 266
10.1.1基本概念 267
10.1.2生命周期 267
10.2 Java线程机制 268
10.2.1 Thread类创建线程 269
10.2.2 Runnable接口创建线程 272
10.2.3线程优先级和调度 274
10.2.4线程组 279
10.2.5主线程 279
10.3线程同步与通信 281
10.3.1线程同步 281
10.3.2线程通信 282
10.3.3死锁 285
10.4本章小结 285
理论练习题 286
上机实训题 288
第11章 网络编程 289
11.1 Java与网络 289
11.1.1网络 290
11.1.2 Java中的网络功能 292
11.2 URL编程 293
11.2.1 URL简介 293
11.2.2 URL类 293
11.2.3构造URL类对象中的异常 294
11.2.4 URL类的获取URL特征的主要方法 294
11.2.5从URL直接读取 295
11.2.6 URLConnection类 295
11.3 Socket通信机制 297
11.3.1使用TCP协议的Socket网络编程 298
11.3.2使用UDP协议的Socket网络编程 302
11.4案例分析一:C/S模式下的文件内容传递 305
11.5案例分析二:基于TCP/IP的多线程电子白板 308
11.6本章小结 317
理论练习题 318
上机实训题 318
第12章 Java数据库操作 319
12.1数据库基础知识 319
12.2 SQL语言基本语法 320
12.2.1数据定义命令 320
12.2.2数据查询语言 321
12.2.3数据更新语言 326
12.3 JDBC访问数据库 327
12.3.1 JDBC简介 327
12.3.2 JDBC Driver API 328
12.3.3 JDBC访问数据库步骤 329
12.4案例分析:创建JDBC-ODBC连接 330
12.5预处理语句对象 335
12.6可滚动结果集的操作 336
12.6.1滚动结果集的查询操作 336
12.6.2滚动结果集的更新操作 337
12.6.3滚动结果集的插入与删除操作 339
12.7连接其他类型数据库 340
12.7.1连接Oracle数据库 340
12.7.2连接MySQL数据库 341
12.7.3连接SQL Server数据库 342
12.8本章小结 344
理论练习题 344
上机实训题 346
第13章 J2ME应用程序开发 347
13.1 J2ME概述 347
13.1.1 J2ME简介 347
13.1.2 MIDlet程序的生命周期 348
13.1.3 J2ME程序的开发流程 349
13.2 J2ME开发平台 350
13.2.1搭建开发平台——WTK 350
13.2.2使用WTK进行无线开发 352
13.2.3 Eclipse下开发环境的搭建 357
13.2.4使用Eclipse进行无线开发 360
13.3用户界面及事件处理 364
13.3.1概述 364
13.3.2高级UI基本控件简介 364
13.3.3低级用户界面及事件处理 367
13.3.4案例分析:MIDP应用程序实例 369
13.4手机游戏项目开发介绍 372
13.4.1游戏API简介 372
13.4.2 GameCanvas的使用 373
13.4.3 Sprite的使用 374
13.4.4 Layer的使用 376
13.4.5案例分析:手机小游戏应用程序实例 377
13.5本章小结 381
理论练习题 382
上机实训题 384
附录A Eclipse热键大全 385
参考文献 390