资料目录:
第Ⅰ部分 Java语言
第1章 Java的历史和演变 3
1.1 Java的家世 3
1.1.1 现代编程语言的诞生:C语言 3
1.1.2 C :下一个阶段 4
1.1.3 Java出现的时机已经成熟 4
1.2 Java的诞生 5
1.3 Java改变Internet的方式 6
1.3.1 Java applet 6
1.3.2 安全性 6
1.3.3 可移植性 6
1.4 Java的魔力:字节码 7
1.5 不再推荐使用applet 7
1.6 servlet:服务器端的Java 8
1.7 Java的关键特性 8
1.7.1 简单性 8
1.7.2 面向对象 8
1.7.3 健壮性 8
1.7.4 多线程 9
1.7.5 体系结构中立 9
1.7.6 解释执行和高性能 9
1.7.7 分布式 9
1.7.8 动态性 9
1.8 Java的演变历程 9
1.9 Java SE 9 11
1.10 文化革新 12
第2章 Java综述 13
2.1 面向对象编程 13
2.1.1 两种范式 13
2.1.2 抽象 13
2.1.3 OOP三原则 14
2.2 第一个简单程序 16
2.2.1 输入程序 17
2.2.2 编译程序 17
2.2.3 深入分析第一个示例程序 17
2.3 第二个简短程序 19
2.4 两种控制语句 20
2.4.1 if语句 20
2.4.2 for循环 21
2.5 使用代码块 22
2.6 词汇问题 23
2.6.1 空白符 23
2.6.2 标识符 23
2.6.3 字面值 23
2.6.4 注释 23
2.6.5 分隔符 23
2.6.6 Java关键字 24
2.7 Java类库 24
第3章 数据类型、变量和数组 25
3.1 Java是强类型化的语言 25
3.2 基本类型 25
3.3 整型 25
3.3.1 byte 26
3.3.2 short 26
3.3.3 int 26
3.3.4 long 26
3.4 浮点型 27
3.4.1 float 27
3.4.2 double 27
3.5 字符型 27
3.6 布尔型 29
3.7 深入分析字面值 29
3.7.1 整型字面值 29
3.7.2 浮点型字面值 30
3.7.3 布尔型字面值 30
3.7.4 字符型字面值 31
3.7.5 字符串字面值 31
3.8 变量 31
3.8.1 变量的声明 31
3.8.2 动态初始化 32
3.8.3 变量的作用域和生存期 32
3.9 类型转换和强制类型转换 34
3.9.1 Java的自动类型转换 34
3.9.2 强制转换不兼容的类型 34
3.10 表达式中的自动类型提升 35
3.11 数组 36
3.11.1 一维数组 36
3.11.2 多维数组 38
3.11.3 另一种数组声明语法 41
3.12 关于字符串的一些说明 41
第4章 运算符 43
4.1 算术运算符 43
4.1.1 基本算术运算符 43
4.1.2 求模运算符 44
4.1.3 算术与赋值复合运算符 44
4.1.4 自增与自减运算符 45
4.2 位运算符 46
4.2.1 位逻辑运算符 47
4.2.2 左移 49
4.2.3 右移 50
4.2.4 无符号右移 51
4.2.5 位运算符与赋值的组合 52
4.3 关系运算符 52
4.4 布尔逻辑运算符 53
4.5 赋值运算符 54
4.6 “?”运算符 55
4.7 运算符的优先级 55
4.8 使用圆括号 56
第5章 控制语句 57
5.1 Java的选择语句 57
5.1.1 if语句 57
5.1.2 switch语句 59
5.2 迭代语句 62
5.2.1 while语句 63
5.2.2 do-while语句 64
5.2.3 for语句 66
5.2.4 for循环的for-each版本 68
5.2.5 嵌套的循环 72
5.3 跳转语句 72
5.3.1 使用break语句 72
5.3.2 使用continue语句 75
5.3.3 return语句 76
第6章 类 77
6.1 类的基础知识 77
6.1.1 类的一般形式 77
6.1.2 一个简单的类 78
6.2 声明对象 79
6.3 为对象引用变量赋值 80
6.4 方法 81
6.4.1 为Box类添加方法 81
6.4.2 返回值 83
6.4.3 添加带参数的方法 84
6.5 构造函数 85
6.6 this关键字 87
6.7 垃圾回收 88
6.8 堆栈类 88
第7章 方法和类的深入分析 91
7.1 重载方法 91
7.2 将对象用作参数 94
7.3 实参传递的深入分析 96
7.4 返回对象 97
7.5 递归 98
7.6 访问控制 100
7.7 理解static 102
7.8 final介绍 104
7.9 重新审视数组 104
7.10 嵌套类和内部类 105
7.11 String类介绍 107
7.12 使用命令行参数 109
7.13 varargs:可变长度实参 110
7.13.1 重载varargs方法 112
7.13.2 varargs方法与模糊性 113
第8章 继承 115
8.1 继承的基础知识 115
8.1.1 成员访问与继承 116
8.1.2 一个更实际的例子 117
8.1.3 超类变量可以引用子类对象 118
8.2 使用super关键字 119
8.2.1 使用super调用超类的构造函数 119
8.2.2 super的另一种用法 122
8.3 创建多级继承层次 123
8.4 构造函数的执行时机 125
8.5 方法重写 126
8.6 动态方法调度 128
8.6.1 重写方法的目的 129
8.6.2 应用方法重写 129
8.7 使用抽象类 130
8.8 在继承中使用final关键字 132
8.8.1 使用final关键字阻止重写 132
8.8.2 使用final关键字阻止继承 133
8.9 Object类 133
第9章 包和接口 135
9.1 包 135
9.1.1 定义包 135
9.1.2 包查找与CLASSPATH 136