第1章 Java语言概述 1
1.1 Java语言简介 2
1.1.1 Java语言发展简介 2
1.1.2 Java语言的特点 3
1.2 开发环境的搭建 4
1.2.1 下载JDK 5
1.2.2 安装JDK 5
1.2.3 设置path与classpath 6
1.2.4 测试Java开发环境 8
1.3 用命令行方式描述Java应用程序的开发过程 8
1.3.1 源程序的编辑 9
1.3.2 源程序的编译 10
1.3.3 字节码文件的运行 11
1.4 辅助工具简介 12
1.5 Eclipse集成开发工具简介 14
小结 17
习题 17
第2章 Java程序设计基础 18
2.1 标识符与关键字 19
2.1.1 标识符 19
2.1.2 关键字 19
2.2 数据类型 20
2.2.1 基本数据类型 20
2.2.2 常量 21
2.2.3 变量 22
2.2.4 基本数据类型之间的转换 23
2.3 运算符与表达式 25
2.3.1 运算符 25
2.3.2 表达式 30
2.4 控制结构 31
2.4.1 顺序结构 31
2.4.2 选择结构 31
2.4.3 循环结构 40
2.4.4 跳转结构 44
2.5 数组 46
2.5.1 一维数组 46
2.5.2 多维数组 52
2.6 案例分析 55
2.6.1 最大公约数和最小公倍数 55
2.6.2 百鸡问题 56
2.6.3 猴子吃桃子问题 57
2.6.4 折半查找 58
2.6.5 杨辉三角 59
小结 60
习题 60
第3章 面向对象基础 64
3.1 面向对象的基本特征 65
3.2 类 66
3.2.1 类的定义 66
3.2.2 成员变量和局部变量 67
3.2.3 成员方法 70
3.3 对象的创建和构造方法 72
3.3.1 对象的声明 72
3.3.2 对象的创建 72
3.3.3 对象的使用 73
3.3.4 构造方法 73
3.4 方法重载 75
3.5 类的继承 76
3.5.1 继承的定义 76
3.5.2 成员变量的隐藏和方法重写(覆盖) 78
3.5.3 this与super关键字 81
3.5.4 继承中的构造方法 85
3.6 包 87
3.6.1 包的声明 88
3.6.2 包的导入 88
3.7 权限控制 88
3.7.1 公有访问修饰符:public 89
3.7.2 保护访问修饰符:protected 90
3.7.3 默认访问修饰符:default 90
3.7.4 私有访问修饰符:private 91
3.8 关键字final与static 93
3.8.1 关键字final 93
3.8.2 关键字static 96
3.9 案例分析 99
3.9.1 图书管理系统 99
3.9.2 超市售货管理系统 106
小结 113
习题 113
第4章 抽象类、接口与内部类 118
4.1 抽象类 119
4.2 接口 121
4.2.1 接口的定义 121
4.2.2 接口的实现 122
4.2.3 抽象类和接口的异同 123
4.2.4 JDK8接口新特性 124
4.3 多态 126
4.4 内部类 128
4.5 案例分析 130
小结 139
习题 139
第5章 Java常用类 143
5.1 基本数据类型的封装类 144
5.1.1 封装类的构造方法 144
5.1.2 封装类的常用方法 145
5.1.3 自动装箱与自动拆箱 145
5.2 Object类 146
5.2.1 toString()方法 146
5.2.2 equals(Object obj)方法 148
5.2.3 getClass()方法 149
5.3 字符串处理类 150
5.3.1 String类 150
5.3.2 StringBuffer类 156
5.3.3 StringBuilder类 158
5.4 Math类 159
5.5 日期处理类 160
5.5.1 Date类 160
5.5.2 Calendar类 162
5.6 案例分析 165
5.6.1 进制转换 165
5.6.2 校验文件名和邮箱地址 166
5.6.3 批量单词替换和统计问题 168
5.6.4 万年历 169
小结 170
习题 171
第6章 I/O流与异常 174
6.1 File类 175
6.1.1 File类的构造方法 175
6.1.2 File类的成员方法 175
6.1.3 使用File类 177
6.2 流 178
6.2.1 流的基本概念 178
6.2.2 输入/输出流 178
6.3 字节流 180
6.3.1 InputStream和OutputStream 180
6.3.2 FileInputStream和FileOutputStream 181
6.4 字符流 182
6.4.1 Reader和Writer 182
6.4.2 InputStreamReader和OutputStreamWriter 183
6.4.3 FileReader和FileWriter 184
6.4.4 BufferedReader和BufferedWriter 185
6.4.5 PrintStream和PrintWriter 187
6.5 序列化 188
6.5.1 对象序列化 188
6.5.2 对象解序列化 190
6.6 异常 193
6.6.1 异常的概念 193
6.6.2 异常处理 193
6.6.3 使用throws声明异常 197
6.6.4 使用throw抛出异常 198
6.6.5 异常的多态 199
6.6.6 自定义异常 199
6.7 案例分析 201
6.7.1 在文本中对指定字符串进行查找与替换 201
6.7.2 取钱 205
小结 207
习题 208
第7章 泛型与集合框架 212
7.1 泛型 213
7.1.1 泛型定义 213
7.1.2 通配符 215
7.1.3 有界类型 217
7.1.4 泛型的限制 220
7.2 集合框架简介 221
7.3 接口Collection 223
7.4 接口List 224
7.4.1 ArrayList类 226
7.4.2 LinkeList类 233
7.5 Set集合 235
7.6 Map集合 237
7.7 集合工具 244
7.8 案例分析 247
7.8.1 用Collection实现图书的添加和查看 247
7.8.2 用TreeSet实现信息的存储和查找 250
小结 253
习题 253
第8章 多线程程序设计 256
8.1 线程的概念 257
8.2 线程的创建和启动 257
8.2.1 继承Thread类 258
8.2.2 实现Runnable接口 260
8.2.3 两种线程创建方式比较 260
8.3 线程的状态与控制 263
8.3.1 线程的状态 263
8.3.2 线程的控制 264
8.4 线程的同步 272
8.4.1 同步方法 272
8.4.2 同步块 276
8.4.3 多线程产生死锁 278
8.5 案例分析 278
8.5.1 生产者-消费者案例 278
8.5.2 多线程实现排序案例 281
小结 285
习题 286
第9章 Java的网络程序设计 288
9.1 基础知识 289
9.1.1 TCP/IP分层结构 289
9.1.2 套接字概述 292
9.2 Java网络包(java.net) 293
9.2.1 服务器端ServerSocket 293
9.2.2 客户端Socket 294
9.2.3 使用BufferedReader从Socket上读取数据 296
9.2.4 使用PrintWriter写数据到Socket上 296
9.3 Socket编程实例 297
9.3.1 单客户端通信 297
9.3.2 多客户端聊天程序 299
9.4 案例分析 303
小结 312
习题 313
第10章 图形用户界面 315
10.1 图形用户界面概述 316
10.2 事件处理 316
10.2.1 事件处理模型 316
10.2.2 事件类 318
10.2.3 事件监听器 319
10.2.4 事件及其相应的监听器接口 320
10.3 Swing组件 323
10.3.1 窗体——JFrame类 324
10.3.2 面板——JPanel类 325
10.3.3 标签——JLabel类 327
10.3.4 按钮——JButton类 328
10.3.5 文本框——JTextField类与JPasswordField类 329
10.3.6 文本区——JTextArea类 331
10.3.7 列表组件——JComboBox类和JList类 331
10.3.8 复选框和单选按钮——JCheckBox类和JRadioButton类 335
10.4 布局管理器 338
10.5 案例分析 342
小结 348
习题 348
第11章 Java数据库编程 352
11.1 MySQL数据库 353
11.1.1 下载与安装MySQL数据库 353
11.1.2 安装MySQL图形化管理工具Navicat Premium 356
11.2 JDBC简介 359
11.3 JDBC的API接口 360
11.3.1 DriverManager类 360
11.3.2 Driver接口 361
11.3.3 Connection接口 361
11.3.4 Statement接口 362
11.3.5 PreparedStatement接口 363
11.3.6 ResultSet接口 364
11.4 案例分析 365
11.4.1 下载并加载MySQL数据库驱动 365
11.4.2 连接数据库 366
11.4.3 数据库的插入 368
11.4.4 数据库的查询 370
11.4.5 数据库的更新 372
11.4.6 数据库的删除 373
小结 375
习题 375
参考文献 379