译者序
前 言
第1章 初识Java1
1.1 第一个Java程序1
1.1.1 编写Java程序1
1.1.2 编译Java程序1
1.1.3 运行Java程序2
1.2 Java编码规范2
1.3 集成开发环境(IDE)3
1.4 小结4
习题4
第2章 语言基础5
2.1 ASCII和Unicode5
2.2 分隔符7
2.3 基本类型7
2.4 变量8
2.5 常量10
2.6 字面量11
2.6.1 整数字面量11
2.6.2 浮点字面量12
2.6.3 布尔字面量13
2.6.4 字符字面量13
2.7 基本类型转换14
2.7.1 扩大转换14
2.7.2 缩小转换15
2.8 操作符15
2.8.1 一元操作符16
2.8.2 算术操作符18
2.9 注解24
2.10 小结25
习题25
第3章 语句26
3.1 Java语句概述26
3.2 if语句27
3.3 while语句29
3.4 do-while语句30
3.5 for语句31
3.6 break语句34
3.7 continue语句35
3.8 switch语句35
3.9 小结36
习题36
第4章 对象和类38
4.1 什么是Java对象38
4.2 Java类39
4.2.1 域40
4.2.2 方法40
4.2.3 UML类图中的类成员42
4.3 创建对象42
4.4 关键字null43
4.5 内存中的对象43
4.6 Java包46
4.7 封装和访问控制47
4.7.1 类访问控制修饰符47
4.7.2 类成员访问控制修饰符49
4.8 关键字this51
4.9 使用其他类52
4.10 final变量53
4.11 静态成员54
4.12 静态final变量55
4.13 静态导入56
4.14 变量作用域57
4.15 方法重载58
4.16 赋值传递还是引用传递59
4.17 加载、链接和初始化59
4.17.1 加载60
4.17.2 链接60
4.17.3 初始化60
4.18 对象创建初始化61
4.19 对象的比较64
4.20 垃圾回收器64
4.21 小结64
习题65
第5章 核心类66
5.1 java.lang.Object66
5.2 java.lang.String67
5.2.1 比较两个String对象68
5.2.2 字符串字面量69
5.2.3 字符转义69
5.2.4 switch中的String 69
5.2.5 String类的构造器70
5.2.6 String类的方法71
5.3 java.lang.StringBuffer和java.lang.StringBuilder73
5.3.1 StringBuilder类的构造器73
5.3.2 StringBuilder类的方法74
5.4 基本类型包装74
5.4.1 java.lang.Integer75
5.4.2 java.lang.Boolean75
5.4.3 java.lang.Character76
5.5 数组76
5.5.1 迭代数组78
5.5.2 修改数组大小78
5.5.3 将String数组传递给main80
5.6 java.lang.Class80
5.7 java.lang.System81
5.8 java.util.Scanner85
5.9 装箱和拆箱85
5.10 可变参数85
5.11 格式和printf方法86
5.12 小结87
习题87
第6章 继承88
6.1 继承概述88
6.1.1 关键字extends88
6.1.2 is-a关系89
6.2 可访问性90
6.3 方法覆盖91
6.4 调用超类的构造器92
6.5 调用超类的隐藏成员94
6.6 类型转换94
6.7 Final类95
6.8 关键字instanceof95
6.9 小结96
习题96
第7章 错误处理97
7.1 捕捉异常97
7.2 没有catch的try99
7.3 捕捉多个异常99
7.4 try-with-resources语句99
7.5 java.lang.Exception类100
7.6 从方法抛出异常101
7.7 用户自定义的异常102
7.8 异常处理总结103
7.9 小结104
习题104
第8章 数字和日期105
8.1 数字解析105
8.2 数字格式化106
8.3 用java.text.NumberFormat解析数字107
8.4 java.lang.Math类107
8.5 java.util.Date类108
8.6 java.util.Calendar类109
8.7 用DateFormat进行日期解析和格式化110
8.7.1 DateFormat110
8.7.2 SimpleDateFormat111
8.8 小结112
习题112
第9章 接口和抽象类113
9.1 接口的概念113
9.2 从技术角度看接口114
9.2.1 接口中的域115
9.2.2 方法115
9.3 基类116
9.4 抽象类117
9.5 小结118
习题118
第10章 枚举119
10.1 枚举概述119
10.2 类中的枚举120
10.3 java.lang.Enum类121
10.4 迭代枚举值121
10.5 枚举在switch中的应用121
10.6 小结122
习题122
第11章 集合框架123
11.1 集合框架概述123
11.2 Collection接口124
11.3 List和ArrayList124
11.4 用Iterator和for迭代集合126
11.5 Set和HashSet127
11.6 Queue和LinkedList128
11.7 集合转换129
11.8 Map和HashMap129
11.9 对象比较和排序130
11.9.1 使用java.lang.Comparable130
11.9.2 使用Comparable和Comparator133
11.10 小结136
习题136
第12章 泛型137
12.1 没有泛型的生活137
12.2 泛型类型简介138
12.3 使用没有类型参数的泛型类型140
12.4 使用“?”通配符141
12.5 在方法中使用有界通配符143
12.6 编写泛型类型144
12.7 小结145
习题145
第13章 输入/输出146
13.1 文件系统和路径147
13.2 文件和目录的处理及操作148
13.2.1 创建和删除文件及目录148
13.2.2 获取目录的对象149
13.3.3 复制和移动文件149
13.2.4 文件读取和写入150
13.3 输入/输出流152
13.4 读取二进制数据152
13.5 写入二进制数据156
13.6 写入文本(字符)159
13.6.1 Writer159
13.6.2 OutputStreamWriter160
13.6.3 PrintWriter161
13.7 读取文本(字符)163
13.7.1 Reader163
13.7.2 InputStreamReader163
13.7.3 BufferedReader165
13.8 用PrintStream记录日志166
13.9 随机访问文件167
13.10 对象序列化171
13.11 小结173
习题173
第14章 嵌套类和内部类174
14.1 嵌套类概述174
14.2 静态的嵌套类175
14.3 成员内部类176
14.4 局部内部类178
14.5 匿名内部类179
14.6 深入嵌套类和内部类180
14.7 小结182
习题183
第15章 Swing基础知识184
15.1 AWT组件185
15.2 有用的AWT类187
15.2.1 java.awt.Color187
15.2.2 java.awt.Font187
15.2.3 java.awt.Point187
15.2.4 java.awt.Dimension188
15.2.5 java.awt.Rectangle188
15.2.6 java.awt.Graphics188
15.2.7 java.awt.Toolkit188
15.3 基础的Swing组件189
15.3.1 JFrame189
15.3.2 调整尺寸和定位192
15.3.3 扩展JFrame194
15.3.4 JComponent195
15.3.5 Icon和ImageIcon196
15.3.6 JLabel196
15.3.7 JButton198
15.3.8 JTextField和JPasswordField199
15.3.9 JTextArea201
15.3.10 JCheckbox202
15.3.11 JRadioButton203
15.3.12 JList205
15.3.13 JComboBox206
15.3.14 JDialog207
15.3.15 JOptionPane210
15.3.16 JFileChooser214
15.4 小结216
习题217
第16章 Swing高级知识218
16.1 布局管理器218
16.1.1 BorderLayout219
16.1.2 FlowLayout221
16.1.3 BoxLayout222
16.1.4 GridLayout223
16.1.5 不用LayoutManager224
16.2 事件处理225
16.2.1 Java事件模型225
16.2.2 Swing事件处理226
16.2.3 AWT事件API228
16.3 使用菜单239
16.4 外观240
16.5 快速启动画面242
16.6 系统托盘支持244
16.7 桌面助手应用程序246
16.8 小结250
习题250
第17章 多态251
17.1 定义多态251
17.2 多态实战254
17.3 绘图应用程序中的多态254
17.4 多态和反射259
17.5 小结261
习题261
第18章 注解262
18.1 注解概述262
18.1.1 注解和注解类型262
18.1.2 注解语法263
18.1.3 注解接口263
18.2 标准注解264
18.2.1 Override264
18.2.2 Deprecated264
18.2.3 SuppressWarnings266
18.3 一般注解267
18.4 标准元注解267
18.4.1 Documented267
18.4.2 Inherited268
18.4.3 Retention268
18.4.4 Target268
18.5 定制注解类型269
18.5.1 编写自己的定制注解类型269
18.5.2 使用定制注解类型269
18.5.3 用反射查询注解270
18.6 小结271
习题271
第19章 国际化272
19.1 Locale272
19.2 应用程序国际化274
19.2.1 将文本组件单独放进属性文件274
19.2.2 用ResourceBundle读取属性文件275
19.3 将Swing应用程序国际化275
19.4 小结277
习题277
第20章 Applet278
20.1 Applet历史简介278
20.2 Applet API279
20.2.1 Applet类279
20.2.2 AppletContext接口281
20.2.3 AudioClip接口281
20.2.4 AppletStub接口282
20.3 安全限制282
20.4 编写和部署applet282
20.5 AppletViewer工作原理284
20.6 将参数传递给Applet285
20.7 SoundPlayerApplet288
20.8 JApplet289
20.9 在JAR文件中部署Applet290
20.10 更快速加载290
20.11 小结291
习题291
第21章 Java网络292
21.1 网络概述292
21.2 超文本转移协议(HTTP)293
21.2.1 HTTP请求293
21.2.2 HTTP响应294
21.3 java.net.URL295
21.3.1 解析URL295
21.3.2 读取Web资源296
21.4 java.net.URLConnection297
21.4.1 读取Web资源298
21.4.2 把数据写入Web服务器300
21.5 java.net.Socket300
21.6 java.net.ServerSocket302
21.7 一个Web服务器应用程序303
21.7.1 HttpServer类303
21.7.2 Request类306
21.7.3 Response类308
21.7.4 运行应用程序310
21.8 小结311
习题311
第22章 JDBC312
22.1 JDBC简介312
22.2 数据访问的4个步骤313
22.2.1 加载JDBC驱动程序313
22.2.2 获得数据库连接314
22.2.3 创建Statement对象315
22.2.4 创建一个ResultSet对象316
22.3 关闭JDBC对象317
22.4 读取元数据318
22.5 SQLTool示例318
22.6 小结323
习题323
第23章 Java线程324
23.1 Java线程简介324
23.2 创建线程324
23.2.1 扩展线程326
23.2.2 实现Runnable接口327
23.3 使用多线程327
23.4 线程优先级329
23.5 停止线程330
23.6 同步333
23.6.1 线程冲突333
23.6.2 方法同步334
23.6.3 块同步 335
23.7 可见性336
23.8 线程协调338
23.9 使用Timer342
23.10 Swing Timer344
23.11 小结346
习题346
第24章 并发工具347
24.1 原子变量347
24.2 Executor和ExecutorService348
24.3 Callable和Future351
24.4 Swing Worker354
24.5 锁357
24.6 小结359
习题359
第25章 安全360
25.1 Java安全概述360
25.2 使用安全管理器361
25.3 策略文件362
25.3.1 keystore363
25.3.2 grant363
25.4 权限364
25.4.1 java.io.FilePermission365
25.4.2 java.security.BasicPermission365
25.4.3 java.util.PropertyPermission365
25.4.4 java.net.SocketPermission365
25.4.5 java.security.Unresolved-Permission366
25.4.6 java.lang.RuntimePermission366
25.4.7 java.awt.AWTPermission366
25.4.8 java.net.NetPermission367
25.4.9 java.lang.reflect.Reflect-Permission367
25.4.10 java.io.Serializable-Permission367
25.4.11 java.security.Security-Permission367
25.4.12 java.security.AllPermission367
25.4.13 javax.security.auth.Auth-Permission367
25.5 使用Policy Tool368
25.6 Applet安全369
25.7 安全编程370
25.8 加密概述370
25.8.1 加密/解密371
25.8.2 验证372
25.8.3 数据完整性374
25.8.4 SSL工作原理374
25.9 创建证书375
25.10 KeyTool程序375
25.10.1 生成配对的密钥376
25.10.2 进行认证377
25.10.3 将证书导入密钥库377
25.10.4 从密钥库中导出证书378
25.10.5 列出密钥库条目378
25.11 JarSigner工具378
25.11.1 签署JAR文件378
25.11.2 验证已签署的JAR文件379
25.11.3 范例:签署一个Applet379
25.12 Java Cryptography API382
25.13 小结382
习题382
第26章 Java Web应用程序383
26.1 Servlet应用程序架构383
26.2 Servlet API概述384
26.3 Servlet385
26.4 编写基础的Servlet应用程序386
26.4.1 安装Tomcat386
26.4.2 编写和编译Servlet类386
26.4.3 应用程序目录结构388
26.4.4 访问Servlet389
26.5 ServletRequest389
26.6 ServletResponse390
26.7 ServletConfig390
26.8 ServletContext393
26.9 GenericServlet393
26.10 HTTP Servlet395
26.10.1 HttpServlet395
26.10.2 HttpServletRequest396
26.10.3 HttpServletResponse397
26.10.4 编写一个Http Servlet397
26.11 使用部署描述符401
26.12 小结403
习题404
第27章 JavaServer Pages405
27.1 JSP概述405
27.2 jspInit、jspDestroy及其他方法407
27.3 隐式对象408
27.4 JSP语法元素409
27.4.1 指令409
27.4.2 脚本元素411
27.5 处理错误413
27.6 小结414
习题414
第28章 Javadoc415
28.1 在Java类中编写文档416
28.1.1 @author416
28.1.2 {@code}417
28.1.3 {@docRoot}417
28.1.4 @deprecated417
28.1.5 @exception417
28.1.6 {@inheritDoc}417
28.1.7 {@link}418
28.1.8 {@linkplain}418
28.1.9 {@literal}418
28.1.10 @param418
28.1.11 @return419
28.1.12 @see419
28.1.13 @serial419
28.1.14 @serialData420
28.1.15 @serialField420
28.1.16 @since420
28.1.17 @throws420
28.1.18 {@value}420
28.1.19 @version421
28.2 Javadoc语法421
28.2.1 Javadoc选项422
28.2.2 标准Doclet选项423
28.2.3 生成文档424
28.3 小结425
习题425
第29章 应用程序部署426
29.1 JWS概述426
29.2 JNLP文件语法426
29.2.1 jnlp元素427
29.2.2 information元素428
29.2.3 security元素429
29.2.4 resources元素429
29.2.5 application-desc元素429
29.2.6 applet-desc元素429
29.3 部署范例430
29.4 安全关注点432
29.5 小结433
习题433
附录A javac434
附录B java439
附录C jar444
附录D NetBeans448
附录E Eclipse452
· · · · · · (
收起)