第一篇 基础篇 1
第1章 Java简介 1
1.1 Java的平台简介 1
1.2 安装工具包 2
1.2.1 下载JDK 2
1.2.2 安装JDK 3
1.2.3 查看与设置环境变量 4
1.2.4 JDK常用命令 6
1.2.5 Java各个目录含义 7
1.2.6 JDK的帮助文件 7
1.3 程序开发过程 8
1.4 编码规范 8
1.5 HelloWorld:第一个Java程序 8
1.5.1 编写程序代码 8
1.5.2 编译程序代码并运行 9
1.5.3 注意事项 10
1.6 使用Eclipse集成开发工具开发 10
1.7 综合练习 11
1.8 小结 11
1.9 习题 11
第2章 Java的基本数据类型 12
2.1 数据类型 12
2.1.1 整型 12
2.1.2 浮点型 13
2.1.3 字符型(char) 13
2.1.4 布尔型(boolean) 14
2.2 数据类型间的转换 14
2.2.1 自动转换 14
2.2.2 强制转换 15
2.2.3 隐含转换 15
2.3 标识符的命名 15
2.3.1 标识符的命名规则 15
2.3.2 不好的标识符命名 16
2.3.3 良好的标识符命名 16
2.4 关键字 17
2.5 代码注释 18
2.5.1 行注释 18
2.5.2 块注释 18
2.5.3 文档注释用户自定义类型 19
2.6 综合练习 20
2.7 小结 20
2.8 习题 20
第3章 运算符 21
3.1 算术运算符 21
3.1.1 “+”:加法运算符 21
3.1.2 “-”:减法运算符 22
3.1.3 “*”:乘法运算符 23
3.1.4 “/”:除法运算符 24
3.1.5 “%”:求余运算符 25
3.2 自增自减运算符 26
3.3 关系运算符 27
3.3.1 “==”、“!=” 28
3.3.2 “>”、“<”、“>=”、“<=” 29
3.4 逻辑运算符 30
3.4.1 “&&”:与运算符 30
3.4.2 “‖”:或运算符 30
3.4.3 “!”:非运算符 31
3.4.4 逻辑运算符总结 32
3.5 三元运算符 32
3.6 位运算符 32
3.6.1 “&”:按位与运算符 33
3.6.2 “|”:按位或运算符 34
3.6.3 “^”:按位异或运算符 34
3.7 位移运算符 35
3.7.1 “〉〉”:带符号右移运算符 35
3.7.2 “〈〈”:带符号左移运算符 36
3.7.3 “〉〉〉”:无符号右移运算符 36
3.8 赋值运算符 37
3.8.1 一般赋值运算符 37
3.8.2 运算赋值运算符 37
3.9 运算符之间的优先级 38
3.10 综合练习 39
3.11 小结 40
3.12 习题 40
第4章 流程控制 42
4.1 if条件语句 42
4.1.1 if语句的语法 42
4.1.2 if语句用法举例 42
4.2 switch分支语句 45
4.2.1 switch分支语句的语法 45
4.2.2 switch分支语句表达式的使用条件 46
4.2.3 switch分支语句举例 49
4.3 while循环语句 50
4.3.1 while循环语句的语法 51
4.3.2 while循环语句举例 51
4.4 do...while循环语句 52
4.4.1 do...while循环语句的语法 52
4.4.2 do...while循环语句举例 53
4.5 for循环语句 54
4.5.1 for循环语句的语法 54
4.5.2 用for循环来实现其他循环语句 55
4.5.3 for循环语句的举例 56
4.6 如何中断和继续语句的执行 57
4.6.1 break:中断语句执行 57
4.6.2 continue:继续语句执行 58
4.7 综合练习 59
4.8 小结 60
4.9 习题 60
第5章 数组 62
5.1 如何创建数组 62
5.1.1 创建数组 62
5.1.2 创建多维数组 63
5.2 数组的初始化 64
5.2.1 创建并初始数组元素 64
5.2.2 循环初始化 66
5.3 数组操作的举例 67
5.3.1 数组元素值的复制 67
5.3.2 数组元素的排序 69
5.3.3 在数组里查找指定元素 71
5.3.4 利用数组打印26个英文字母 72
5.4 综合练习 73
5.5 小结 74
5.6 习题 74
第二篇 面向对象篇 76
第6章 类与对象 76
6.1 什么是面向对象 76
6.1.1 面向对象编程的特点 76
6.1.2 面向对象编程与面向过程编程的区别 77
6.2 什么是类 77
6.2.1 类的定义和对象的创建 77
6.2.2 如何使用现有类 79
6.2.3 类设计的技巧 80
6.3 成员变量 81
6.3.1 成员变量的创建 81
6.3.2 成员变量的初始化 82
6.4 局部变量 85
6.4.1 局部变量的创建和初始化 85
6.4.2 局部变量和成员变量的区别 86
6.5 方法 86
6.5.1 方法的创建和参数 86
6.5.2 方法参数的传递 89
6.6 对象引用的使用 90
6.6.1 调用不存在的对象或成员变量 90
6.6.2 调用对象为null值的引用 92
6.6.3 对象引用间的比较 93
6.7 this 94
6.8 要活用JDK已有的类 95
6.8.1 Date类 95
6.8.2 Integer类 97
6.9 综合练习 98
6.10 小结 99
6.11 习题 99
第7章 控制逻辑 100
7.1 包(package) 100
7.1.1 创建包 100
7.1.2 如何使用包 101
7.1.3 什么是静态引入 102
7.2 类的访问级别 103
7.2.1 公开的访问级别 103
7.2.2 默认的访问级别 104
7.3 什么是封装 106
7.4 最终修饰符 107
7.4.1 final修饰对象类型的成员变量 108
7.4.2 final修饰基本类型的成员变量 109
7.4.3 final修饰的局部变量 112
7.4.4 final修饰的方法 113
7.5 静态修饰符 115
7.5.1 什么是静态变量 115
7.5.2 静态变量的访问 116
7.5.3 什么是静态常量 119
7.6 综合练习 120
7.7 小结 121
7.8 习题 121
第8章 继承 123
8.1 什么是继承 123
8.1.1 类的继承 124
8.1.2 继承的语法 127
8.2 修饰符 128
8.2.1 public:声明成员变量为公共类型 128
8.2.2 private:声明成员变量为私有类型 129
8.2.3 default:声明成员变量为默认类型 130
8.2.4 protected:声明成员变量为保护类型 131
8.3 成员变量的覆盖 132
8.4 对象引用 133
8.5 方法的重写和重载 134
8.5.1 方法重写的特点 134
8.5.2 方法重载的特点 136
8.5.3 重写的返回类型 139
8.5.4 重写是基于继承的 141
8.5.5 静态方法是不能重写的 142
8.5.6 三者之间的关系 144
8.5.7 重写toString方法 144
8.5.8 重写equals方法 145
8.6 final与继承的关系 147
8.7 abstract与继承的关系 148
8.8 什么是多态 149
8.9 什么是枚举类 150
8.10 什么是反射机制 151
8.11 什么是泛型 152
8.12 综合练习 154
8.13 小结 155
8.14 习题 155
第9章 接口 156
9.1 什么是接口 156
9.1.1 接口的定义 156
9.1.2 访问接口里的常量 158
9.2 接口的使用 159
9.2.1 接口里的方法如何创建 159
9.2.2 接口引用怎么使用 160
9.3 什么是抽象类 162
9.3.1 抽象类的使用和特点 162
9.3.2 抽象类与接口区别 165
9.4 接口的多态 165
9.5 判断类型 167
9.5.1 什么是instanceof 167
9.5.2 使用instanceof的注意事项 170
9.6 综合练习 171
9.7 小结 171
9.8 习题 171
第10章 构造器 172
10.1 什么是构造器 172
10.1.1 构造器的使用 172
10.1.2 被修饰的构造器 174
10.1.3 构造器方法与普通方法的区别 177
10.2 如何实例化一个对象 178
10.3 构造器的使用 180
10.3.1 构造器的调用 180
10.3.2 构造器重载 184
10.3.3 父子类间的构造器的调用流程 186
10.3.4 如何自定义构造器 188
10.4 什么是单子模式 190
10.5 构造器在程序中是何时运行的 193
10.6 综合练习 196
10.7 小结 197
10.8 习题 197
第11章 异常处理 199
11.1 异常处理基本介绍 199
11.1.1 try和catch捕获异常 199
11.1.2 try...catch语句使用注意点 200
11.1.3 finally语句的使用 202
11.1.4 再谈异常处理注意事项 204
11.2 异常的分类 205
11.2.1 捕获异常 205
11.2.2 未捕获异常 207
11.3 抛出异常 207
11.3.1 抛出异常的简单介绍 207
11.3.2 使用throws和throw语句抛出异常 208
11.4 自定义异常 209
11.4.1 创建和使用自定义异常类 209
11.4.2 自定义异常的实际应用 210
11.5 综合练习 213
11.6 小结 214
11.7 习题 214
第12章 内部类 215
12.1 非静态内部类 215
12.1.1 创建非静态内部类 215
12.1.2 在外部类中访问内部类 216
12.1.3 在外部类外访问内部类 217
12.1.4 在内部类中访问外部类 218
12.2 局部内部类 221
12.2.1 创建局部内部类 221
12.2.2 在局部内部类中访问外部类成员变量 222
12.2.3 在局部内部类中访问外部类的局部变量 222
12.2.4 静态方法中的局部内部类 224
12.3 静态内部类 225
12.3.1 创建静态内部类 226
12.3.2 在外部类中访问静态内部类 226
12.3.3 在外部类外访问静态内部类 227
12.4 匿名内部类 228
12.4.1 创建匿名内部类 228
12.4.2 匿名内部类的初始化 230
12.5 综合练习 231
12.6 小结 232
12.7 习题 232
第13章 多线程 233
13.1 多线程简介 233
13.2 定义线程和创建线程对象 233
13.2.1 继承Thread类定义线程 233
13.2.2 实现Runnable接口定义线程 234
13.3 运行线程 235
13.3.1 启动线程 235
13.3.2 同时运行多个线程 237
13.4 线程生命周期 238
13.4.1 新建状态 238
13.4.2 准备状态 238
13.4.3 运行状态 238
13.4.4 等待/阻塞状态 239
13.4.5 死亡状态 239
13.5 线程的调度 239
13.5.1 睡眠方法 239
13.5.2 线程优先级 241
13.5.3 yield让步方法 242
13.5.4 join让步方法 244
13.6 综合练习 245
13.7 小结 246
13.8 习题 246
第三篇 应用篇 249
第14章 Swing桌面程序开发 249
14.1 开发第一个Swing程序 249
14.2 JFrame窗口类 250
14.2.1 JFrame窗口类简介 250
14.2.2 创建简单窗体 250
14.2.3 设置窗体 252
14.3 JPanel面板类 255
14.3.1 容器介绍 255
14.3.2 JPanel面板类简介 255
14.3.3 创建面板 255
14.4 JLabel标签类 256
14.4.1 JLabel标签类简介 256
14.4.2 创建标签 257
14.5 JButton按钮类 258
14.5.1 JButton按钮类简介 258
14.5.2 创建按钮 258
14.5.3 按钮动作事件 259
14.6 Swing中的事件 262
14.6.1 事件简介 262
14.6.2 同一个事件源注册多个监听器 262
14.6.3 同一个监听器注册给多个事件源 264
14.6.4 窗体获取和失去焦点事件 265
14.6.5 窗体打开、关闭和激活事件 266
14.7 综合练习 268
14.8 小结 270
14.9 习题 270
第15章 嵌入式系统开发概述 272
15.1 流布局 272
15.1.1 流布局介绍 272
15.1.2 使用流布局 273
15.2 网格布局 275
15.2.1 网格布局介绍 275
15.2.2 使用网格布局 275
15.3 边框布局 277
15.3.1 边框布局介绍 278
15.3.2 使用边框布局 278
15.4 空布局 279
15.4.1 空布局介绍 280
15.4.2 使用空布局 280
15.5 卡片布局 281
15.5.1 卡片布局介绍 281
15.5.2 使用卡片布局 282
15.6 综合练习 283
15.7 小结 286
15.8 习题 286
第16章 Swing常用控件 287
16.1 文本框及密码框和多行文本框 287
16.1.1 创建文本框 287
16.1.2 创建密码框 288
16.1.3 创建多行文本框 290
16.2 复选框和单选按钮 291
16.2.1 创建单选按钮 291
16.2.2 创建复选框 294
16.3 选项卡 295
16.3.1 选项卡介绍 296
16.3.2 创建选项卡 296
16.4 分隔窗格 298
16.4.1 分隔窗格介绍 298
16.4.2 创建分隔窗格 299
16.5 滑块和进度条 300
16.5.1 创建滑块 300
16.5.2 创建进度条 302
16.6 列表框 304
16.6.1 列表框介绍 305
16.6.2 创建列表框 305
16.6.3 下拉列表框 307
16.7 菜单 309
16.7.1 菜单介绍 309
16.7.2 创建菜单 310
16.7.3 创建弹出式菜单 311
16.8 综合练习 312
16.9 小结 314
16.10 习题 314
第17章 JDBC数据库编程 316
17.1 数据库基本介绍 316
17.1.1 数据库介绍 316
17.1.2 数据库应用架构 316
17.1.3 数据库模型 317
17.2 JDBC数据库编程介绍 317
17.2.1 JDBC和ODBC的关系 318
17.2.2 为什么使用JDBC数据库编程 318
17.3 SQL数据库操作技术 318
17.3.1 什么是SQL 319
17.3.2 如何进行SQL操作 319
17.4 创建数据库 320
17.4.1 创建Access数据库 320
17.4.2 创建SQL Server数据库 320
17.5 JDBC编程步骤 323
17.5.1 创建数据源 323
17.5.2 加载驱动程序 325
17.5.3 建立数据库连接 325
17.5.4 进行数据库操作 326
17.5.5 获取数据库中信息 327
17.5.6 JDBC数据库编程实例 327
17.6 事务处理 329
17.6.1 事务介绍 329
17.6.2 进行事务操作 330
17.7 综合练习 332
17.8 小结 332
17.9 习题 332
第18章 Java中输入/输出流 334
18.1 I/O流简介 334
18.1.1 什么是I/O流 334
18.1.2 节点流与处理流 334
18.1.3 字节流与字符流 335
18.1.4 抽象基类 335
18.2 使用流进行文件操作 337
18.2.1 使用File类进行文件与目录操作 337
18.2.2 FileInputStream类与FileOutputStream类 340
18.2.3 FileReader类与FileWriter类 343
18.3 综合练习 345
18.4 小结 345
18.5 习题 345
第19章 集合框架 347
19.1 集合框架总论 347
19.1.1 什么是集合框架 347
19.1.2 Collection接口 347
19.2 列表 348
19.2.1 List列表接口 348
19.2.2 Vector类 349
19.2.3 ArrayList类 352
19.2.4 LinkedList类 355
19.3 集合 357
19.3.1 Set接口 358
19.3.2 SortedSet接口 359
19.3.3 TreeSet类 359
19.3.4 HashSet类 361
19.4 映射 362
19.4.1 Map接口 362
19.4.2 HashMap类 363
19.4.3 TreeMap类 366
19.5 综合练习 367
19.6 小结 368
19.7 习题 368
第20章 网络编程 370
20.1 网络编程基础 370
20.1.1 TCP/IP协议 370
20.1.2 网络编程模型 370
20.1.3 网络传输协议 371
20.1.4 端口和套接字 371
20.2 基于TCP/IP协议的网络编程 371
20.2.1 Socket套接字 372
20.2.2 ServerSocket类 372
20.2.3 Socket类 373
20.2.4 网络编程C/S架构实例 374
20.3 综合练习 377
20.4 小结 379
20.5 习题 379
第四篇 综合案例篇 380
第21章 学生管理系统 380
21.1 系统设计 380
21.2 数据库设计 380
21.3 登录界面开发 380
21.3.1 界面设计 381
21.3.2 程序开发 381
21.4 学生界面开发 382
21.4.1 界面设计 383
21.4.2 程序开发 383
21.4.3 开发插入学生界面 384
21.4.4 查询学生信息界面 386
21.4.5 查询成绩信息 389
21.5 综合练习 392
21.6 小结 392