第1章 预备知识 1
1.1 目前流行的编程语言简介 1
1.1.1 C/C++的一些概念 1
1.1.2 从 C 至 C++ 2
1.1.3 面向对象初步知识 3
1.2 从 C/C++到 Java 4
习题 5
第2章 Java 语言概述 6
2.1 Java 语言的优势与特点 7
2.2.1 数据类型 11
2.2 Java 语言的基本语法 11
2.2.2 变量 13
2.2.3 运算符及表达式 15
2.3 流程控制语句 21
2.3.1 概述 21
2.3.2 条件语句 22
2.3.3 循环语句 24
2.3.4 switch 开关语句 27
2.3.5 转移语句 29
习题 33
3.1 一维数组 34
3.1.1 一维数组的声明和初始化 34
第3章 数组 34
3.1.2 一维数组的引用 35
3.2 二维数组 37
3.2.1 二维数组的声明和初始化 37
3.2.2 二维数组的引用 38
习题 40
第4章 字符串 41
4.1 String 类的特点 41
4.1.1 String 类的基本方法 41
4.1.2 String 类的使用实例 43
4.2 StringBuffer 类的特点 45
4.2.1 StringBuffer 类的基本方法 46
4.2.2 StringBuffer 类的使用实例 47
4.3 字符串的特殊处理方法 47
习题 49
第5章 Java 例外处理 50
5.1 异常的基本概念 50
5.2 异常的处理机制 51
5.2.1 异常的直接捕获与处理:try-catch 51
5.2.2 异常的间接声明抛弃 54
5.2.3 直接抛出异常 54
5.3 异常类的类层次 55
习题 60
6.1 类的基本概念 61
第6章 Java 中类、对象、接口及包的概念 61
6.1.1 类的声明 62
6.1.2 类的实体 63
6.2 对象 74
6.2.1 对象的创建 74
6.2.2 对象的使用 75
6.3 类的继承概念 77
6.3.1 子类的创建 77
6.3.2 变量的隐藏 78
6.3.3 方法置换 78
6.4 Java 中接口与包的概念 79
6.4.1 接口 80
6.4.2 包(package)的基本概念 82
习题 83
第7章 Java 的输入/输出流 85
7.1 Java 语言 I/O 的类层次 85
7.2 Java 中文件的操作 86
7.2.1 文件与目录的描述类——File 86
7.2.2 文件 I/O 处理 89
7.3 特殊的 I/O 处理流 94
7.3.1 管道流 94
7.3.2 内存的 I/O 流 96
7.3.3 多个输入流的连接 98
7.3.4 过滤流 99
7.3.5 解析流 103
7.3.6 Java 命令行参数的使用 104
习题 105
第8章 Java 的 GUI 设计 106
8.1 AWT 基础 106
8.1.1 java.awt 包简介 106
8.1.2 AWT 组件类层次 107
8.1.3 容器和布局管理器 108
8.1.4 可视组件的始祖类——Component 类 108
8.2.1 窗口(Window) 111
8.2 窗口类 111
8.2.2 框架(Frame) 112
8.2.3 对话框(Dialog) 113
8.3 AWT 基本组件 114
8.3.1 按钮(Button) 114
8.3.2 复选框(CheckBox) 115
8.3.3 复选框组—单选框(Checkbox Group-Radio Button) 116
8.3.4 下拉列表(Choice) 118
8.3.5 标签(Label) 118
8.3.6 文本域(Textfield) 119
8.3.7 文本区(TextArea) 120
8.3.8 列表(List) 121
8.3.9 画布(Canvas) 122
8.3.10 面板(Panel) 123
8.3.11 滚动面板(ScrollPane) 123
8.4 菜单 124
8.4.1 帮助菜单 124
8.4.2 菜单条(MenuBar) 124
8.4.3 菜单(Menu) 125
8.4.4 菜单项(MenuItem) 125
8.4.5 复选菜单项(CheckBoxMenuItem) 126
8.4.6 弹出式菜单(PopupMenu) 127
8.5.1 FlowLayout 128
8.5 布局管理器 128
8.5.2 BorderLayout 129
8.5.3 GridLayout 130
8.5.4 GridBagLayout 132
8.5.5 CardLayout 134
8.5.6 不使用布局管理器 136
8.6 Java AWT 事件处理机制 137
8.6.1 事件的层次关系 137
8.6.2 事件类型 138
8.6.3 事件处理过程 139
8.7.1 Swing 的层次结构 141
8.7 Swing 基础 141
8.6.4 事件 Adapters(适配器) 141
8.7.2 Swing 组件 143
8.7.3 建立 Swing 窗口 144
习题 145
第9章 Java 在多媒体中的应用 146
9.1 利用 AWT 绘图 146
9.2 Graphics 类的使用 147
9.2.1 绘制字符串、字符和字节 147
9.2.2 颜色控制 148
9.2.3 绘制几何图形 150
9.2.4 屏幕操作 153
9.2.5 绘图模式 154
9.3 Font 类的使用 155
9.3.1 字体 155
9.3.2 创建和派生字体 156
9.4 图像处理 157
9.4.1 加载和显示图像 158
9.4.2 图像生成 161
9.4.3 图像处理 161
9.5 动画图像处理 165
9.5.1 使用线程设计动画 165
9.5.2 避免闪烁 167
9.5.3 双缓冲技术 169
习题 171
第10章 Java 的线程处理 172
10.1 线程的基本概念 172
10.1.1 线程 173
10.1.2 创建线程 174
10.1.3 使用 Runnable 接口 176
10.1.4 方法的选择 177
10.2 线程的属性 181
10.2.1 线程的状态 181
10.2.2 线程的调度 183
10.3 线程组 184
10.2.3 线程的优先级 184
10.4 多线程程序的开发 185
10.4.1 synchronized 的基本概念 185
10.4.2 多线程的控制 187
10.4.3 多线程之间的通信 192
习题 195
第11章 Java 网络通信程序的设计 197
11.1 处理 URL 内容 197
11.1.1 URL 类的基本方法 197
11.1.2 用 URL 类实现页面的访问 199
11.1.3 用 URLConnection 类实现页面的访问 201
11.1.4 与 CGI 的沟通 205
11.2 使用 Socket 通信 211
11.2.1 InetAddress 类 211
11.2.2 客户端 Socket 类 213
11.2.3 服务器端 ServerSocket 类 215
11.2.4 多客户通信机制 217
11.3 使用 UDP 通信 220
习题 223
第12章 Java 小应用程序(APPlet)的设计 224
12.1 编写一个 Applet 224
12.1.1 Applet 的执行框架 225
12.1.2 Applet 的安全机制 227
12.1.3 Applet 的主要方法 228
12.1.4 Applet 标记 231
12.1.5 从 Applet 中弹出窗口 232
12.1.6 基于 Swing 与 AWT 的 Applet 的区别 236
12.2 Applet 的通信 238
12.2.1 Applet 与浏览器的通信 238
12.2.2 同页 Applet 之间的通信 241
12.2.3 Applet 网络通信设计 243
习题 243
附录 本书实例源代码 244
参考文献 254