第1章 初识Java语言 1
1.1 Java语言背景 1
1.1.1语言概述 1
1.1.2平台概述 1
1.1.3 JDK的概念和下载 2
1.2 Java的优势和特点 3
1.3 JDK的配置 3
1.4 JRE的概念 5
1.5程序语言的编译和解释 5
1.6第一个Java程序 6
1.7编译和运行第一个Java程序 7
1.8 Java虚拟机与跨平台性 8
1.9 Java程序打包 8
第2章 Java语言基础 10
2.1标识符 10
2.2数据类型和变量 11
2.2.1数据类型 11
2.2.2变量 11
2.2.3各种类型的变量 12
2.3字面常量 14
2.4算术运算和算术运算符 14
2.5关系运算和关系运算符 18
2.6逻辑运算和逻辑运算符 18
2.7位运算和位运算符 19
2.7.1按位与 19
2.7.2按位或 19
2.7.3按位异或 19
2.7.4按位取反 19
2.8赋值和赋值运算符 20
2.9类型转换 21
2.9.1自动类型转换 21
2.9.2强制数据类型转换 22
2.10运算符优先级 24
第3章 Java语言程序结构 25
3.1程序结构概述 25
3.1.1顺序结构 25
3.1.2分支结构 25
3.1.3循环结构 25
3.2 Java分支结构 26
3.2.1 if语句 26
3.2.2 switch语句 28
3.3三元表达式 30
3.4 Java循环结构 31
3.4.1 while循环 31
3.4.2 do…while循环 33
3.4.3 for循环 34
3.5循环控制 36
3.5.1 break语句 36
3.5.2 continue语句 36
3.6分支与循环的嵌套 36
3.6.1分支结构嵌套 37
3.6.2循环结构嵌套 37
第4章 数组 39
4.1数组的定义 39
4.2一维数组 39
4.2.1一维数组声明 40
4.2.2一维数组的初始化 40
4.2.3使用数组 43
4.3多维数组 44
4.3.1二维数组初始化 44
4.3.2关于多维数组 47
4.4数组应用 47
4.4.1获取数组中所有元素的最大值 47
4.4.2对数组进行从大到小排序 48
第5章 字符串 51
5.1字符串概述 51
5.2字符串的定义与基本操作 51
5.3字符串的常用操作 52
5.4数据类型小结 55
5.4.1基本类型与引用类型 55
5.4.2两种类型数据存储方式 55
5.4.3基本类型的包装类 58
5.5字符串类型与基本类型的转换 58
5.6字符串的格式化输出 60
5.7字符串的正则表达式概述 61
第6章 Java中的方法 62
6.1方法的定义 62
6.2方法的使用 63
6.3方法的返回值 65
6.4方法的参数 66
第7章 类和对象 69
7.1类和对象概述 69
7.2类的定义 70
7.3类的使用 71
7.4局部变量与成员变量 73
7.5静态成员和对象成员 74
7.5.1静态属性 75
7.5.2静态方法 76
7.6构造方法 77
7.7方法重载 78
7.8 Java中的程序包 80
7.8.1包的定义 80
7.8.2系统包 80
7.8.3 import关键字 81
7.9面向对象中的封装 81
7.9.1面向对象概述 81
7.9.2封装 82
7.10面向对象中的继承 83
7.10.1 extends关键字 84
7.10.2方法重写与super关键字 85
7.10.3子类对象实例化过程 86
7.10.4 Object类 87
7.11面向对象中的多态 87
7.12抽象类和接口 90
7.12.1抽象类 90
7.12.2接口 92
7.12.3抽象类与接口的比较 92
7.13 final修饰符 93
7.14 Java中的枚举 93
第8章 异常 95
8.1异常的概念 95
8.2异常的类型 95
8.3 try…catch关键字 96
8.3.1基本语法 96
8.3.2多重catch块 97
8.4 finally关键字 98
8.5运行时异常与非运行时异常 99
8.6 throws关键字 99
8.7 throw关键字 100
8.8自定义异常 100
第9章 Java常用类库 102
9.1 StringBuffer类和StringBuilder类 102
9.2 Math类 103
9.3基本数据类型包装类 104
9.4 Class类 105
9.4.1类加载 106
9.4.2 Static块 107
9.5日期和时间 107
9.5.1 Date类 107
9.5.2 Calendar类 108
9.5.3日期格式化 110
9.6数字格式化 114
第10章 Java集合框架 116
10.1 Collection接口及其子接口 116
10.1.1 List接口 117
10.1.2 Vector类 117
10.1.3 ArrayList类 118
10.1.4 LinkedList类 121
10.1.5 Set接口 122
10.1.6 HashSet类 123
10.1.7迭代器 125
10.2泛型 126
10.3 foreach循环 130
10.4 Map接口及实现类 131
10.5集合工具类 132
10.5.1 Arrays类 132
10.5.2 Collections类 133
第11章 Java文件操作 134
11.1文件 134
11.2流 136
11.2.1字节流 137
11.2.2字符流 142
11.3 Properties类 144
11.4序列化与反序列化 145
第12章 Java网络编程 147
12.1网络编程基础 147
12.1.1 IP协议 147
12.1.2 TCP协议 148
12.1.3 IP地址与端口号 148
12.1.4 UDP 148
12.1.5 InetAddress对象定位主机 149
12.2基于TCP协议的Socket编程 149
12.2.1使用ServerSocket进行服务器端开发 150
12.2.2使用Socket进行客户端开发 153
12.3基于UDP的Socket编程 156
12.4 URL与URI 157
第13章 Java中的线程 159
13.1线程概述 159
13.1.1基本概念 159
13.1.2线程状态 160
13.1.3守护线程 160
13.2线程实现 161
13.2.1通过继承Thread类创建线程类 161
13.2.2实现Runnable接口 163
13.2.3两种方式的比较 165
13.3守护线程实现 165
13.4线程安全 166
13.4.1同步代码块 167
13.4.2同步方法 169
13.4.3线程间通信 169
13.5定时器 174
第14章 AWT与Swing 175
14.1 AWT概述 175
14.1.1容器 176
14.1.2组件 177
14.1.3布局管理器 179
14.1.4事件处理 184
14.1.5 AWT常用组件 190
14.1.6字体颜色 191
14.1.7图形和绘制方法 191
14.2 Swing概述 193
14.2.1容器 194
14.2.2组件 195
14.2.3优点 195
14.3 Swing中的容器组件 196
14.3.1 JFrame 196
14.3.2 JPanel 196
14.3.3 JScrollPane 198
14.4 SwingGUI组件 199
14.4.1 JTable 199
14.4.2 JTree 201
14.5菜单 204
14.6对话框 205
14.6.1 JOptionPane 205
14.6.2 JDialog 207
14.7 Java 2D绘制图形 207
第15章 虚拟机中的内存管理 209
15.1 Java程序内存分配概述 209
15.2堆和栈 210
15.3方法的值传递和引用传递 213
15.4垃圾回收机制 214
15.5 Runtime类的使用 216
15.6字符串和字符串池 217
附录A 正则表达式 221
附录B Java中的反射机制 225