10.3.4线程的wait挂起等待和notlfy唤醒继续 22 1
第1章Java面向对象编程导引 1
1.1 Java语言的背景和版本演化 1
目 录 1
11.5.2联机对弈游戏程序的体系结构分析 27 1
1.2 Java的几个重要应用领域 2
1.3 Java的编译环境SDK的安装和配置 3
1.4使Java程序正确显示中文字体 7
1.5从一个简单的Java程序看Java字节码编译和解释运行 7
7.7.2单选按钮及其事件处理 11 8
1.6用模块的观点理解Java类的几个相关概念 11
1.7本书约定的编程风格 14
1.8本章小结 14
第2章Java语言应用基础 16
2.1标识符的构成 16
2.2类型变量的声明 17
2.3给变量赋值 18
2.3.1整型变量的赋值 18
2.3.2浮点数变量的赋值 18
2.3.3字符型变量的赋值 19
2.4常量的声明 20
2.5 Java程序的注释 20
2.3.4布尔型变量的赋值 20
2.3.5字符串变量的赋值 20
2.6变量、常量的运算 21
2.6.1表达式赋值 21
2.6.2算术运算 21
2.6.3算术赋值运算 22
2.6.4关系运算 22
2.6.5逻辑运算 23
2.6.6字符串的连接运算 24
2.6.8强制类型转换 24
2.6.7三目条件运算 24
2.6.10运算符的优先级别 25
2.6.9位运算 25
2.7程序流程控制 26
2.7.1 if-else分支控制 26
2.7.2 switch-case开关控制 27
2.7.3 while循环控制 28
2.7.4 do-while循环控制 29
2.7.5 for循环控制 29
2.7.6 break跳转 30
2.7.7 return返回控制 30
2.7.8 continue重新循环 31
2.8本章小结 31
第3章Java面向对象的程序设计基础 32
3.1构造Java的类 32
3.2打包和导入Java的类 33
3.3类的继承、方法的重载和变量的隐蔽 35
3.3.1类的继承 36
3.3.2类方法的重载 37
3.3.3变量的隐蔽 38
3.3.4终态类、终态方法和常变量 39
3.4控制类、变量和方法的访问权限 40
3.4.1类的访问控制 40
3.4.2变量的访问控制 40
3.4.3方法的访问控制 41
3.5创建类的对象 42
3.5.1 从C++的对象模型看Java的对象 42
3.5.2 Java对象的创建和类的构造函数 43
3.5.3通过对象使用类的变量和方法 44
3.5.4 Java对象的释放 45
3.6 static变量和static方法 46
3.6.1 static变量 46
3.6.2 static方法 46
3.7关键字this和super的用法 47
3.7.1 this的用法 47
3.8构造Java抽象类 48
3.7.2 super的用法 48
3.9构造和使用Java接口 50
3.10 Java基础类库JFC简介 51
3.11本章小结 53
4.1异常对象与运行错误 54
第4章在代码中添加异常捕捉处理 54
4.2 Java的异常类 55
4.3捕捉和处理异常 57
4.3.1 try/catch块的异常捕捉处理 57
4.3.2 finally块的通用异常处理 60
4.4在方法中抛出异常 61
4.5定义异常类和抛出异常对象 62
4.5.2抛出一个异常对象 63
4.5.1定义一个异常类 63
4.6本章小结 64
第5章数组及字符串 65
5.1数组 65
5.1.1数组的声明和创建 65
5.1.2数组元素的赋值和访问 66
5.1.3多维数组 67
5.2字符串 69
5.2.1 String类的字符串 69
5.2.2 StringBuffer类的字符串 74
5.3本章小结 78
6.1 Java的输入、输出流类 79
第6章Java的输入、输出及目录文件管理 79
6.2标准输入、输出 80
6.2.1键盘的输入处理 81
6.2.2控制台的输出处理 82
6.3目录文件管理 83
6.3.1获取当前目录路径 83
6.3.2 目录和文件的删除 84
6.3.3 目录的建立 84
6.3.4 目录文件的列表 85
6 3.5获取文件的属性 86
6.3.6目录文件的重命名 87
6.3.7 创建一个空文件 88
6.4文件的读写 88
6.4.1文件的顺序读写 89
6.4.2文件的随机块读写 90
6.5输入输出过滤流 92
6.5.1缓冲过滤流类 92
6.5.2数据过滤流类 94
6.6对象的串行化 95
6.6.1对象输入输出流的创建 95
6.6.2对象的写入 95
6.6.3对象的读取 96
6.6.4对象的透明变量 97
6.7本章小结 98
第7章Java的基本图形用户界面编程 99
7.1 swing用户界面开发概述 99
7.2框架窗口及其事件处理 100
7.2.1框架窗口类及其方法 100
7.2.2框架窗口的事件处理 103
7.3对话框及其事件处理 104
7.3.1对话框类及其方法 105
7.3.2对话框的事件处理 105
7.4按钮及其事件处理 106
7.4.1按钮类及其方法 106
7.4.2按钮的事件处理 108
7.5标签、文本框及其事件处理 111
7.5.1标签、文本框类及其方法 111
7.5.2标签、文本框的事件处理 112
7.6.1复选框类及其方法 115
7.6复选框及其事件处理 115
7.6.2复选框的事件处理 116
7.7.1单选按钮类及其方法 118
7.7单选按钮及其事件处理 118
7.8组合框及其事件处理 120
7.8.2组合框的事件处理 120
7.8.1组合框类及其方法 120
7.9滚动条及其事件处理 122
7.9.1滚动条类及其方法 122
7.9.2滚动条的事件处理 122
7.10进度条及其事件处理 124
7.10.1进度条类及其方法 124
7.10.2进度条的事件处理 124
7.11 Java的控件界面布局 126
7.11.1控件的BorderLayout边界布局 126
7.11.2控件的FlowLayout流式布局 128
7.11.3控件的CardLayout卡片布局 129
7.11.4控件的GridLayout网格布局 131
7.11.5控件的GridBagLayout网格包布局 132
7.11.6控件的绝对布局 136
7.12 Java的通用对话框 137
7.12.1 JOptionPane标准对话框 137
7.12.2 JFileChooser文件对话框 141
7.13菜单和工具条 144
7.13.1菜单及其事件处理 144
7.13.2工具条及其事件处理 146
7.14本章小结 149
第8章Java高级图形用户界面编程 150
8.1列表框控件JList类的使用 150
8.1.1 JPanel和JScrollPane面板 150
8.1.2 JList类及相关的ListModel类、Vector类 151
8.1.3 实例——JList控件的一个综合布局应用 152
8.2 JTree控件类的使用 156
8.2.1 JSplitPane分隔面板 156
8.2.2 JTree类及相关的DefaultMutableTreeNode节点类 157
8.2.3实例——利用JTree开发一个具有导航菜单的窗口 158
8.3 弹出菜单JPopupMenu类的使用 161
8.3.1 JPopupMenu类 161
8.3.2实例——JPopupMenu弹出菜单的应用 161
8.4.1 JTabbedPane类 163
8.4标签页控件JTabbedpane类的使用 163
8.4.2实例——JTabbedPane标签页的应用 164
8.5表格控件JTable类的使用 166
8.5.1JTable类及相关的DefaultTableModel、TableColumn等类 166
8.5.2实例——JTable表格的高级应用 169
8.6本章小结 172
第9章Java的Applet编程 173
9.1 JApplet类及实现一个简单的Applet程序 173
9.2将Applet嵌入Web网页 175
9.3 利用appletviewer调试Applet网页 175
9.4利用支持最新Java2类库的插件在浏览器中运行Applet 176
9.5将参数传递到Applet程序 179
9.6建立.jar打包文件 181
9.7 Applet的安全限制 183
9.8本章小结 184
第10章Java多媒体及多线程编程 185
10.1绘图技术 185
10.1.1 Graphics类绘图 185
10.1.2 Graphics2D类绘图 191
10.1.3颜色Color类及颜色渐变GradientPaint类 197
10.1.4字体Font类及字符串的精确定位显示 200
10.1.5一个绘制函数曲线及坐标值的Applet 202
10.2图像处理技术 204
10.2.1图像的加载及Image类、URL类、Toolkit类和MediaTracker类 204
10.2.2 用Graphics(Graphics2D)类的drawImage方法显示图像 207
10.2.3用CropImageFiiter类及PixelGrabber类剪裁图像 208
10.2.4图像的双缓冲区显示 211
10.3 Java多线程的设计 213
10.3.1 Thread类和线程的创建、启停 213
10.3.2 ThreadGroup类和线程组 217
10.3.3多线程的同步协调 219
10.4声音处理技术 225
10.4.1声音文件的加载和AudioClip接口的播放方法 225
10.4.2 javax.sound.sampled包的几个声音处理类 226
1 0.4.3 实例——启动多个线程的显示波形图的Applet高级播放器 229
10.5多线程下的动画编程 240
10.5.1背景卷动 240
10.5.2精灵移动 243
10.5.3碰撞检测 244
10.5.4一个带有背景卷动效果的精灵跑步Applet动画 245
10.6本章小结 249
11.1.1 TCP/IP网络的软件层次及层次功能 250
第11章Java的Socket网络程序开发 250
11.1 TCP/IP协议基础 250
11.1.2 IP地址简介 252
11.1.3 TCP/IP的编程接口Socket 253
11.2 InetAddress类及IP地址的获取 254
11.3 TCP套接字ServerSocket类和Socket类 255
11.4 UDP套接字Datagr amSocket类和DatagramPacket类 259
11.5综合实例——互联网多人联机棋类对弈游戏的开发 262
11.5.1联机对弈游戏介绍 263
11.5.3联机对弈游戏程序的代码结构及数据包的格式 272
1.服务器的程序代码结构 272
2.客户端的程序代码结构 275
3.通信双方的数据包格式协议 280
1.完整的对弈游戏服务器代码 282
11.5.4联机对弈游戏服务器端程序的编写 282
2.对弈游戏服务器代码剖析 290
11.5.5客户端Applet程序的编写 293
1.完整的客户端Applet代码 294
2.客户端代码剖析 307
11.6本章小结 322
第12章Servlet/JSP Web动态页面开发 323
12.1 Servlet/JSP生成动态网页的机制 323
12.2 Servlet/JSP的编译、运行环境 324
12.2.1 Servlet的J2EE编译环境的安装和配置 324
12.2.2 Tomcat服务器的安装和配置 327
12.3 Servlet服务器小应用程序的开发 331
12.3.1 HttpServlet类及Servlet程序的编写方法 332
12.3.2从浏览器获得信息的HttpServletRequest接口 334
12.3 3将信息输出到浏览器的HttpServletResponse接口 341
12.3.4利用ServletConfig接口获得Servlet初始化参数 343
12.3.5输出Cookie信息保存到浏览器端 346
12.3.6利用HttpSession接口在服务器端保存Session会话信息 350
12.3.7利用ServletContext接口在服务器端保存Appfication应用级信息 354
12.4 JSP动态页面开发 356
12.4.1从一个简单的HelloWorld.jsp学习JSP到Servlet程序的转换 357
12.4.2 JSP语法基础 359
12.4.3 JSP内建对象的使用 375
12.5利用JDBC编程接口API访问数据库 390
12.5.1 JDBC的技术原理概述 390
12.5.2 JDBC驱动程序的加载及利用DriverManager类建立数据库的连接 393
12.5.3利用Connection、Statement和ResuItSet接口对象执行SQL查询 395
12.5.4利用Statement的executeUpdate方法执行数据的插入和修改 410
12.5.5执行存储过程 419
12.5.6利用第三方的jspSmartUpload开发包处理图片上传和下载 424
12.6本章小结 434