第1章 Java程序设计概述 1
1.1 引例——开学报到 1
1.2 Java概述 1
1.2.1 Java简介 1
1.2.2 Java的发展历史 2
1.3 Java语言的特点 3
1.4 Java的开发和执行环境 5
1.4.1 下载JDK 5
1.4.2 JDK的安装 5
1.4.3 配置Java的运行环境 7
1.5 用命令行方式描述引例程序的开发过程 8
1.6 Java开发工具Eclipse 9
1.6.1 Eclipse简介 9
1.6.2 使用Eclipse开发引例程序 11
小结 14
习题 14
第2章 Java语言基础 15
2.1 引例——自我介绍 15
2.2 Java程序结构 16
2.2.1 程序头包的引用 16
2.2.2 类的定义 17
2.3 标识符和关键字 18
2.3.1 标识符 18
2.3.2 关键字 19
2.4 常量与变量 19
2.4.1 常量 19
2.4.2 变量 20
2.5 Java基本数据类型 20
2.5.1 整型 21
2.5.2 浮点型 22
2.5.3 字符类型 23
2.5.4 布尔型 23
2.5.5 基本数据类型转换 23
2.6 运算符和表达式 26
2.6.1 运算符 26
2.6.2 表达式 30
2.7 注释 31
小结 33
习题 33
第3章 程序流程控制语句 35
3.1 引例——竞选班委和猜数字游戏 35
3.2 顺序结构 35
3.3 分支结构 36
3.3.1 用if语句解决引例3-1的问题 36
3.3.2 用switch语句解决引例3-1的问题 38
3.4 循环结构 40
3.4.1 用while循环解决引例3-2的问题 40
3.4.2 do-while语句 41
3.4.3 for循环 42
3.4.4 break语句和continue语句 43
小结 44
习题 44
第4章 数组和字符串 46
4.1 引例——成绩统计 46
4.2 数组 47
4.2.1 一维数组 47
4.2.2 用一维数组解决引例4-1的问题 48
4.2.3 二维数组 49
4.2.4 用二维数组解决引例4-2的问题 50
4.2.5 Arrays类 51
4.3 字符串 52
4.3.1 创建字符串对象 52
4.3.2 字符串String类的操作 53
4.3.3 字符串StringBuffer类的操作 58
4.3.4 格式化字符串 60
4.3.5 格式化日期和时间 62
4.4 综合案例——约瑟夫环 64
小结 66
习题 66
第5章 类与对象 68
5.1 引例——设计成绩报告单类 68
5.2 类 69
5.2.1 类的定义 69
5.2.2 引例中成绩报告单类的定义 70
5.2.3 成员变量和局部变量 71
5.2.4 成员方法 73
5.3 对象 75
5.3.1 创建对象 75
5.3.2 对象的使用 77
5.3.3 用对象解决引例中成绩报告单的生成问题 78
5.3.4 参数传值 78
5.4 static关键字 80
5.4.1 类变量 80
5.4.2 类方法 81
5.5 this关键字 83
5.6 包 84
5.6.1 包语句 84
5.6.2 包引用 85
5.7 访问权限 86
5.8 综合案例——结婚登记审核问题 87
小结 90
习题 91
第6章 继承与多态 92
6.1 引例——开发教员类 92
6.2 类的继承 93
6.2.1 子类、父类与继承机制 93
6.2.2 继承的实现 95
6.2.3 成员变量的隐藏和方法的重写 96
6.3 对象的上转型对象 98
6.4 多态 100
6.4.1 多态的概念 100
6.4.2 多态的实现 100
6.5 用继承和多态解决引例中的问题 102
6.6 abstract类和abstract方法 103
6.7 接口 106
6.7.1 接口的声明与使用 106
6.7.2 接口回调 109
6.7.3 接口做参数 109
6.8 综合案例——工作汇报问题 110
小结 112
习题 113
第7章 异常与内部类 114
7.1 引例——发生异常的一个小程序 114
7.2 异常处理 115
7.2.1 Java的出错类型 115
7.2.2 用异常处理机制解决引例中程序非正常结束的问题 116
7.2.3 throw和throws语句 118
7.3 自定义异常 119
7.4 内部类 121
7.4.1 内部类的概念 121
7.4.2 匿名内部类 122
7.5 综合案例——取钱 123
小结 125
习题 125
第8章 输入输出和文件操作 127
8.1 引例——文件读写 127
8.2 文件处理 127
8.2.1 File类简介 128
8.2.2 使用File类 129
8.3 流的基本概念 130
8.3.1 输入输出流 130
8.3.2 用Java的标准输入输出流解决引例中的问题1 133
8.4 流的基本概念 134
8.4.1 用文件字节流解决引例中的问题 134
8.4.2 用文件字符流解决引例中的问题 136
8.4.3 过滤器流 138
8.4.4 字符缓冲流 139
8.4.5 转换流 142
8.4.6 对象流 143
8.5 文件的随机访问 145
8.6 综合案例——文本的匹配和标注 148
小结 151
习题 152
第9章 图形用户界面设计 153
9.1 引例——计算器面板设计 153
9.2 AWT与Swing 154
9.3 框架 155
9.3.1 创建框架 155
9.3.2 向框架中添加组件 156
9.3.3 面板(JPanel)作为子容器解决引例中的计算器界面设计 156
9.4 布局管理器 158
9.4.1 FlowLayout布局管理器 158
9.4.2 GridLayout布局管理器 160
9.4.3 BorderLayout布局管理器 161
9.4.4 CardLayout布局管理器 162
9.4.5 BoxLayout布局管理器 165
9.5 事件处理 167
9.5.1 基本概念 167
9.5.2 事件处理机制 169
9.5.3 事件处理实现方式 170
9.5.4 适配器 174
9.6 创建图形用户界面 176
9.6.1 按钮JButton 177
9.6.2 文本组件 178
9.6.3 单选按钮JRadioButton 183
9.6.4 复选框JCheckBox 183
9.6.5 下拉列表JComboBox 187
9.6.6 滑块JSlider 188
9.6.7 菜单JMenu 193
9.7 综合实例——简单计算器 196
小结 199
习题 199
第10章 多线程 200
10.1 引例——信用卡主副卡业务 200
10.2 线程的概念 201
10.3 创建任务和线程 201
10.4 Thread类 204
10.5 线程池 206
10.6 线程同步 207
10.6.1 synchronized关键字 209
10.6.2 同步语句 210
10.7 利用加锁同步 210
10.8 线程间协作解决引例中的线程间通信问题 212
10.9 线程的状态 215
10.10 综合实例——生产者-消费者 216
小结 219
习题 219
第11章 Java程序设计实验 220
实验一 Java程序的编写和基本语法练习 220
实验二 基本程序设计 221
实验三 数组 223
实验四 字符串 225
实验五 类与对象——方法 226
实验六 类与对象——类的定义和对象的创建访问 227
实验七 继承和多态 229
实验八 异常类 231
实验九 输入输出和文件操作 233
实验十 建立图形用户界面 234
参考文献 236