第1章 Java语言概述 1
1.1面向对象程序设计 1
1.1.1面向对象程序设计思想的诞生 2
1.1.2面向对象程序设计与面向过程程序设计的对比 3
1.1.3面向对象技术的背景和特点 6
1.2 Java概述 6
1.2.1 Java的起源和发展 7
1.2.2 Java的特性 7
1.2.3 Java体系结构 8
1.3 Java运行机制与JVM 9
1.3.1 JVM的体系结构 9
1.3.2 JVM的运行机制 11
1.4 Java类库 11
1.5安装Java开发工具 13
1.5.1下载JDK 13
1.5.2安装JDK 14
1.5.3设置Java的运行环境 16
1.6使用命令行 18
1.7使用集成开发环境 20
1.7.1使用JBuilder 20
1.7.2使用Eclipse 24
1.8第一个Java程序 28
1.8.1开发源代码 28
1.8.2编译运行 29
1.9小结 30
习题 30
上机操作 30
实验一 编译Java程序 31
实验二 程序阅读题 31
第2章 Java语言基础 33
2.1数据类型 33
2.1.1整型 33
2.1.2浮点型 35
2.1.3 char型 35
2.1.4 boolean型 36
2.1.5基本数据类型值间的转换 36
2.2变量 38
2.2.1变量声明 38
2.2.2变量名和变量类型 38
2.2.3变量的初始化 39
2.2.4 final变量 39
2.3运算符 39
2.3.1算术运算符 40
2.3.2关系和逻辑运算符 42
2.3.3位运算符 43
2.3.4赋值运算符 43
2.3.5其他运算符 43
2.4表达式和语句 45
2.4.1表达式 45
2.4.2语句 46
2.5控制结构 46
2.5.1条件语句 46
2.5.2循环语句 49
2.5.3跳转语句 50
2.6字符串 51
2.6.1 String类型 52
2.6.2 StringBuffer类型 54
2.7数组 56
2.7.1数组的声明与创建 56
2.7.2数组的初始化 57
2.7.3数组的常用操作 58
2.8命名规范 60
2.8.1标志符命名规则 60
2.8.2 Java中默认的命名习惯 60
2.9注释 61
2.9.1单行注释 61
2.9.2多行注释 61
2.9.3文档注释 61
2.10小结 62
习题 62
上机操作 62
实验一:使用控制结构编写程序 63
实验二:String的使用 63
实验三:数组的使用 63
实验四:程序填空 63
第3章 Java面向对象程序设计 65
3.1面向对象设计简介 65
3.1.1对象 65
3.1.2 Java中的类 67
3.1.3面向对象三大特征 68
3.2用户自定义类 69
3.2.1类定义 69
3.2.2成员变量和方法 69
3.2.3构造函数 71
3.2.4访问修饰符 72
3.2.5创建及使用对象 73
3.3重载 76
3.3.1普通方法的重载 76
3.3.2构造方法的重载 78
3.3.3 main方法 80
3.4对象的初始化和清理 81
3.4.1对象初始化 81
3.4.2对象析构和Java垃圾回收机制 83
3.5使用现有类 84
3.5.1 API概念 84
3.5.2 Object类 84
3.5.3 String类 87
3.5.4 StringBuffer类 92
3.5.5 Math类 93
3.5.6 System类 93
3.6包 94
3.6.1包 94
3.6.2 Java中定义的包 95
3.6.3自定义包的创建和使用 95
3.6.4编译和生成包 96
3.7小结 96
习题 96
参考答案 98
上机操作 100
实验一:定义类和实例化对象 100
实验二:重载 100
第4章 继承和多态 101
4.1类的继承 101
4.1.1创建子类 102
4.1.2方法的重载以及方法重写(override)的联系与区别 105
4.1.3关键字super和final 107
4.1.4继承设计的技巧 110
4.2复用类 110
4.2.1组合语法 111
4.2.2继承语法 112
4.2.3代理 113
4.2.4组合与继承的选择 115
4.3多态 116
4.3.1什么是多态?为什么要使用多态 117
4.3.2编译时的多态性 121
4.3.3运行时的多态性 122
4.3.4多态的设计 122
4.4小结 122
习题 123
上机操作 123
参考答案 123
第5章 接口与内部类 125
5.1接口 125
5.1.1抽象类和抽象方法 126
5.1.2接口的声明及实现 128
5.1.3 Java中的多重继承 130
5.1.4接口的域 132
5.1.5嵌套接口 133
5.2内部类 134
5.2.1创建内部类 134
5.2.2链接到内部类 136
5.2.3为什么需要内部类 138
5.2.4匿名内部类 139
5.2.5局部内部类 140
5.3小结 142
习题 142
上机操作 142
参考答案 143
第6章 集合和泛型(选读) 144
6.1基本概念 144
6.2常用集合——列表、队列、栈 146
6.3泛型类实现 148
6.4小结 153
习题 154
上机操作 154
参考答案 154
第7章 异常 155
7.1异常基本概念 155
7.2异常与异常类 158
7.3异常处理 160
7.3.1捕获异常 160
7.3.2声明抛出异常 165
7.3.3抛出异常 166
7.4自定义异常 168
7.5小结 170
习题 170
参考答案 170
上机操作 170
第8章 Java程序的输入/输出 175
8.1 Java流式输入/输出概述 175
8.2流的层次 175
8.3字节流类和字符流类 176
8.3.1字节流类 176
8.3.2字符流类 179
8.4缓冲流类 180
8.5内存操作流 182
8.6打印流 184
8.7 RandomAccessFile随机访问流 186
8.8对象流类和对象序列化 190
8.9文件操作 192
8.10小结 198
习题 198
参考答案 198
上机操作 198
第9章 多线程 201
9.1线程的基本概念 201
9.1.1线程与进程的关系 201
9.2多线程的实现与控制 201
9.2.1继承Thread启动线程 201
9.2.2实现Runnable接口 203
9.2.3守护线程 208
9.3线程同步 209
9.4死锁 214
9.5生产者—消费者问题 216
9.6小结 220
习题 221
参考答案 221
上机操作 221
第10章 Java图形编程 223
10.1 Java图形程序设计概述 223
10.1.1 Java图形程序设计技术简介 223
10.1.2 Swing基础 224
10.1.3 Applet简介 225
10.2使用AWT编写简单Java图形程序 226
10.2.1 AWT综述 227
10.2.2组件、容器和布局 227
10.3 AWT事件处理 233
10.3.1 Java AWT事件简介 234
10.3.2 Java AWT事件监听器 237
10.3.3事件、事件监听器接口、事件处理器及触发原因 243
10.3.4事件适配器 244
10.4使用Swing进行Java图形程序编写 245
10.4.1 Swing技术简介及特点 245
10.4.2 Swing组件的基本用法 247
10.5小结 251
习题 251
参考答案 251
上机操作 252
第11章 Java高级应用简介 253
11.1 Java网络编程基础知识 253
11.1.1基于URL的高层次Java网络编程 253
11.1.2基于Socket(套接字)的低层次Java网络编程基础 259
11.2 Java数据库编程基础知识 263
11.3 Java EE简介 271
11.3.1什么是Java EE 271
11.3.2 Java EE学习路线推荐 273
11.4 Java嵌入式及移动开发简介 274
11.4.1什么是Java嵌入式开发 274
11.4.2使用Java进行Android开发 275
11.5小结 283
上机操作 284
第12章 Java综合项目 285
12.1学生管理系统概述 285
12.2学生管理系统分析 285
12.2.1需求分析 285
12.2.2可行性分析 286
12.3学生管理系统总体设计 286
12.4学生管理系统详细设计 287
12.4.1数据库详细设计 287
12.4.2系统逻辑设计 289
12.4.3类设计 289
12.5学生管理系统具体实现 290
12.5.1服务器端实现(Server类) 290
12.5.2实现用来设置系统参数的接口(MyConstants接口) 292
12.5.3数据库操作类实现(Database类) 293
12.5.4数据库操作类实现(MyTableModel类) 303
12.5.5三个数据操作窗口类 304
12.5.6 StuInfoSystem类 304
12.6学生管理系统测试 313
12.7小结 314
上机操作 314