第一篇 基础篇 3
第1章 Java基础知识 3
1.1Java语言简介 3
1.1.1Java发展史 3
1.1.2Java语言的特点 3
1.2面向对象编程 4
1.2.1面向过程与面向对象 4
1.2.2客观事物的抽象 5
1.2.3对象和封装 5
1.3Java与C++、C#的比较 6
1.2.4类和继承 6
1.4建立Java开发环境 7
1.4.1下载并安装JDK1.4.1 7
1.4.2设置系统环境变量 9
1.5JDK开发环境工具简介 10
1.5.1Java编译器(javac.exe) 10
1.5.2Java解释器(java.exe) 12
1.5.3Java调试器(jdb.exe) 12
1.5.4C头文件及存根文件生成器(javah.exe) 13
1.5.5Java反编译器(javap.exe) 14
1.5.6Applet浏览器(Appletviewer.exe) 15
1.5.7API文档生成器(javadoc.exe) 16
1.5.8Java文档压缩工具(jar.exe) 22
1.5.9代码转换器(native2ascii.exe) 23
1.5.10检测器(extcheck.exe) 24
1.5.11远程对象编译器(rmic.exe) 24
1.5.12远程对象激活器(rmid.exe) 25
1.5.13远程对象注册器(rmiregistry.exe) 26
1.5.14jarsigner 26
1.5.15keytool 27
1.6编译执行第一个Java程序 27
1.6.1Java应用程序 27
1.6.2JavaApplet 29
1.7JDK1.4类库中增减的类 30
1.7.1新增的包、类和接口 30
1.7.2已有包中的新类和接口 31
1.7.3禁用的类 33
1.8小结 35
第2章 Java语言语法(Ⅰ)——简单数据类型 37
2.1数据类型概述 37
2.2标识符、关键字、常量和变量 37
2.2.1标识符 38
2.2.2关键字 38
2.2.3常量 39
2.2.4变量 40
2.3基本数据类型 40
2.3.1整数类型 40
2.3.2实数类型 41
2.3.3字符类型 43
2.3.4逻辑类型 44
2.4数据类型转换 45
2.5小结 46
3.2.1单目算术运算符 47
3.2算术运算符和算术表达式 47
3.1运算符和表达式 47
第3章 Java基本语法(Ⅱ)——运算符和表达式 47
3.2.2双目算术运算符 49
3.3关系运算符和关系表达式 50
3.4逻辑运算符和逻辑表达式 52
3.5位运算符和位表达式 52
3.6赋值运算符和赋值表达式 54
3.7条件运算符和条件表达式 55
3.8运算符优先级 56
3.9小结 57
4.2分支语句 59
4.1块作用域 59
第4章 Java基本语法(Ⅲ)——流程控制语句 59
4.2.1条件语句 60
4.2.2多重分支语句 62
4.3循环语句 63
4.3.1for循环语句 64
4.3.2while循环语句 65
4.3.3do-while循环语句 67
4.4转移语句 70
4.4.1break语句 70
4.4.2continue语句 71
4.4.3return语句 72
4.5递归(recursion) 73
4.6注释语句 75
4.7小结 77
第5章 Java类和对象 79
5.1类 79
5.1.1类的声明 79
5.1.2成员变量 80
5.1.3成员方法 81
5.1.4方法重载 82
5.1.6类的实例化 84
5.1.5构造方法 84
5.1.7this变量 85
5.2Java的类库在哪里 87
5.3类成员修饰符 88
5.3.1访问控制 88
5.3.2static 91
5.3.3final修饰符 93
5.4两个特殊的方法 94
5.4.1构造方法 94
5.5内部类 96
5.4.2main方法的特点 96
5.6对象创建、使用和清除 98
5.6.1对象的创建和使用 98
5.6.2对象的克隆 100
5.6.3用finalize方法清除对象 102
5.7对象的比较 102
5.8类的继承与多态性 104
5.8.1继承 105
5.8.2方法覆盖 106
5.8.3super关键字 107
5.8.5多态性 109
5.8.4抽象类和抽象方法 109
5.9Java的垃圾回收 111
5.10小结 112
第6章 接口、包 113
6.1接口 113
6.1.1接口的定义 113
6.1.2接口的实现 114
6.2包 118
6.2.1包声明 118
6.2.2import语句 119
6.3小结 120
第7章 数组和字符串类型 121
7.1一维数组 121
7.1.1一维数组定义 121
7.1.2一维数组初始化 121
7.1.3访问数组元素 123
7.2多维数组 125
7.2.1二维数组定义与初始化 125
7.2.2访问二维数组元素 127
7.2.3为多维数组分配内存空间 128
7.3字符串类型 129
7.3.1字符串的生成方法 129
7.3.2访问和修改字符串 131
7.4StringTokenizer类的应用 136
7.5字符串与其他数据类型的转换 138
7.5.1其他对象转换为字符串 138
7.5.2字符串转换为其他对象 139
7.6小结 140
第8章 异常处理 141
8.1Java异常 141
8.2简单的异常处理范例 142
8.3异常处理类 143
8.4.1抛出异常 151
8.4异常处理 151
8.4.2异常捕获 152
8.4.3异常的嵌套处理 157
8.5用户自定义异常 158
8.6小结 159
第9章 输入/输出及文件操作 161
9.1流 161
9.2Java中输入/输出处理的类构造层次 163
9.3文件处理 165
9.4使用Reader与Writer类 168
9.4.1FileReader和FileWriter类 169
9.4.2BufferedReader和 170
BufferedWriter类 170
9.5RandomAccessFile类 172
9.6使用InputStream和 174
OutputStream类 174
9.6.1FileInputStream和FileOutputStream类 174
9.6.2PipedInputStream和PipedOutputStream类 177
9.6.3SequenceInputStream类 178
9.7过滤流 179
9.7.1DataInputStream和DataOutputStream 180
9.7.2BufferedInputStream和BufferedOutputStream. 182
9.7.3LineNumberInputStream 183
9.8小结 185
第10章 对象序列化 187
10.1序列化入门 187
10.2序列化应用实例 189
10.3控制序列化 194
10.3.1Externalizable接口 194
10.3.2重置writeObject和readObject方法 196
10.4小结 197
第11章 Java图形用户界面 201
11.1AWT包简介 201
第二篇 高级编程篇 201
11.2容器组件 203
11.2.1用Frame建立窗口 203
11.2.2对话框组件 205
11.3为Frame添加组件 210
11.3.1按钮组件 210
11.3.2标签组件 212
11.3.3复选框组件 213
11.3.4滚动条组件 216
11.3.5TextField和TextArea组件 217
11.3.6菜单组件 219
11.4布局管理器 224
11.4.1FlowLayout布局管理器 224
11.4.2BorderLayout布局管理器 225
11.4.3CardLayout布局管理器 226
11.4.4GridLayout布局管理器 230
11.4.5GridBagLayout布局管理器 231
11.5Swing简介 233
11.5.1JFrame 233
11.5.2JLabel 233
11.5.3JButton、JCheckBox、JradioButton 235
11.5.4JTextField、JtextArea和JPasswordField 238
11.5.5JList 239
11.5.6JComboBox 240
11.6用户界面风格 242
11.7小结 244
第12章 高级Swing构件 245
12.1几种面板容器 245
12.1.1JPanel 245
12.1.2JRootPane 247
12.1.3JTabbedPane 248
12.1.4JScrollPane 250
12.1.5JOptionPane 251
12.2菜单和工具条 252
12.2.1菜单 252
12.2.2工具条 257
12.3几个高级Swing组件 259
12.3.1JProgressBar组件 259
12.3.2JSlider组件 260
12.3.3JSeparator 262
12.3.4JFileChooser 262
12.3.5JColorChooser 264
12.3.6JTable 266
12.3.7JTree 268
12.3.8JToolTip 269
12.3.9JScrollBar 270
12.4多文档界面程序设计 271
12.5Swing的布局管理器 272
12.6小结 274
第13章 Java事件处理 275
13.1事件处理机制结构 275
13.1.1事件 275
13.1.2事件监听器 276
13.1.3事件适配器 279
13.2鼠标和键盘事件 283
13.2.1鼠标事件 283
13.2.2控制鼠标指针形状 283
13.2.3键盘事件 284
13.2.4窗口事件 284
13.3小结 284
13.3.1图形类的事件 285
13.3.2事件的处理方法所对应的接口 285
第14章 Java多线程处理 287
14.1多线程简介 287
14.2.1Thread类 288
14.2Java线程类与Runnable接口 288
14.2.2Runnable接口 290
14.3线程管理 291
14.3.1线程生命周期 291
14.3.2线程调度 292
14.3.3守护(Daemon)线程 294
14.4线程同步 294
14.5线程中sleep、yield和join方法的区别 296
14.6线程死锁问题 299
14.7线程组 303
14.8多线程编程实例 306
14.9小结 309
第15章 JavaApplet 311
15.1JavaApplet简介 311
15.2Applet的使用技巧 312
15.2.1设置Applet的颜色 312
15.2.2获取Applet的显示空间大小 312
15.2.3读取Applet参数 313
15.2.4Applet和浏览器间通信 314
15.3Java2的安全策略 316
15.4JApplet 317
15.5小结 320
第16章 Java图形编程 321
16.1简单图形处理 322
16.1.1显示文本 322
16.1.2画直线、矩形、椭圆和弧 324
16.1.3画多边形和折线 326
16.1.4图形复制 328
16.2Java2D 329
16.2.1Java2D图形 329
16.2.2高级绘图效果 331
16.3打印图形 334
16.4XOR绘图模式 337
16.5小结 338
第17章 Java多媒体技术 339
17.1图像处理 339
17.1.1装载和显示图像 339
17.1.2生成图像 340
17.1.3图像过滤 342
17.2Java实现动画 343
17.2.1动画技巧 343
17.2.2动画实例 344
17.3高级图像处理 348
17.3.1水中倒影 348
17.3.2让图片有下雪的效果 350
17.4装载并播放声音 353
17.5Java媒体播放器 356
17.6小结 360
第18章 RMI 361
18.1RMI快速入门 361
18.1.1RMI的结构 361
18.1.2RMI接口和类 362
18.2RMI程序设计 362
18.2.1RMI服务器程序 363
18.2.2RMI客户机程序 364
18.3小结 366
第19章 网络通信 367
19.1LRL 368
19.2InetAddress 371
19.3Socket通信 372
19.3.1Socket类和 372
ServerSocket类 372
19.3.2Socket通信实例 375
19.3.3支持多客户连接的 380
Socket通信方式 380
19.4数据报通信 383
19.4.1DatagramSocket和DatagramPacket类 384
19.4.2数据报通信实例 385
19.5小结 387
第20章 JDBC 389
20.1什么是JDBC 389
20.2JDBC驱动程序的四种类型 391
20.2.1JDBC-ODBC桥 391
20.2.2Java到本地API 391
20.2.3网络纯Java驱动程序 392
20.2.4本地协议纯Java驱动程序 392
20.3JDBC中主要接口和类 392
20.3.2Date和Time类 393
20.3.1DriverManager类 393
20.3.3PreparedStatement接口 394
20.3.4CallableStatement 395
20.4数据库和SQL语言基础 396
20.4.1数据库的基本概念 396
20.4.2结构化查询语言——SQL 397
20.5使用JDBC访问数据库 401
20.5.1创建数据源 401
20.5.2与数据库建立连接 404
20.5.3执行查询、处理查询结果 404
20.6小结 407
第21章 Java与XML编程 409
21.1XML编程基础 409
21.1.1编写XML文档 409
21.1.2XML解析器 410
21.2使用DOM处理XML文档 414
21.2.1用DOM访问现有的XML文档 414
21.2.2使用DOM创建XML文档 418
21.3SAXAPI应用 419
21.4用XML创建Java用户界面 420
21.5XML安全 426
21.6小结 427
第22章 命名服务和目录服务 429
22.1概述 429
22.2Java命名和目录服务 430
22.2.1软件的安装 430
22.2.2文件系统的服务提供者和服务器 430
22.2.3JNDI体系结构 431
22.3文件系统的命名服务 431
22.3.1引用上下文 431
22.3.2文件系统的几个常用方法 433
22.4JNDI对象绑定 435
22.5小结 435