目 录<br/> 第1章 Java基础 1<br/> 1.1 Java的历史和基本原则 2<br/> 1.1.1 Java的起源 3<br/> 1.1.2 Java与C和C++的关系 3<br/> 1.1.3 Java对Internet的贡献 4<br/> 1.1.4 Java的魔法:字节码 5<br/> 1.1.5 超越applet 6<br/> 1.1.6 更快速的发布时间表 7<br/> 1.1.7 Java的主要术语 8<br/> 1.2 面向对象程序设计 8<br/> 1.2.1 封装 9<br/> 1.2.2 多态性 9<br/> 1.2.3 继承 10<br/> 1.3 Java开发工具包 10<br/> 1.4 第一个简单的程序 11<br/> 1.4.1 输入程序 12<br/> 1.4.2 编译程序 12<br/> 1.4.3 逐行分析第一个程序 13<br/> 1.5 处理语法错误 15<br/> 1.6 第二个简单程序 15<br/> 1.7 另一种数据类型 17<br/> 1.8 两个控制语句 19<br/> 1.8.1 if语句 20<br/> 1.8.2 for循环语句 21<br/> 1.9 创建代码块 22<br/> 1.10 分号和定位 24<br/> 1.11 缩进原则 24<br/> 1.12 Java关键字 26<br/> 1.13 Java标识符 27<br/> 1.14 Java类库 27<br/> 1.15 自测题 27<br/> 第2章 数据类型与运算符 29<br/> 2.1 数据类型为什么重要 30<br/> 2.2 Java的基本类型 30<br/> 2.2.1 整数类型 31<br/> 2.2.2 浮点型 32<br/> 2.2.3 字符型 33<br/> 2.2.4 布尔类型 34<br/> 2.3 字面值 36<br/> 2.3.1 十六进制、八进制和二进制字面值 36<br/> 2.3.2 字符转义序列 37<br/> 2.3.3 字符串字面值 37<br/> 2.4 变量详解 38<br/> 2.4.1 初始化变量 38<br/> 2.4.2 动态初始化 39<br/> 2.5 变量的作用域和生命期 39<br/> 2.6 运算符 41<br/> 2.7 算术运算符 42<br/> 2.8 关系运算符和逻辑运算符 43<br/> 2.9 短路逻辑运算符 45<br/> 2.10 赋值运算符 46<br/> 2.11 速记赋值 46<br/> 2.12 赋值中的类型转换 48<br/> 2.13 不兼容类型的强制转换 49<br/> 2.14 运算符的优先级 50<br/> 2.15 表达式 52<br/> 2.15.1 表达式中的类型转换 52<br/> 2.15.2 间距和圆括号 54<br/> 2.16 自测题 54<br/> 第3章 程序控制语句 55<br/> 3.1 从键盘输入字符 56<br/> 3.2 if语句 57<br/> 3.2.1 嵌套if语句 58<br/> 3.2.2 if-else-if阶梯状结构 59<br/> 3.3 switch语句 60<br/> 3.4 for循环 66<br/> 3.4.1 for循环的一些变体 67<br/> 3.4.2 缺失部分要素的for循环 68<br/> 3.4.3 无限循环 69<br/> 3.4.4 没有循环体的循环 69<br/> 3.4.5 在for循环内部声明循环控制变量 70<br/> 3.4.6 增强型for循环 70<br/> 3.5 while循环 71<br/> 3.6 do-while循环 72<br/> 3.7 使用break语句退出循环 77<br/> 3.8 将break语句作为一种goto<br/> 语句使用 78<br/> 3.9 使用continue语句 82<br/> 3.10 嵌套循环 86<br/> 3.11 自测题 87<br/> 第4章 类、对象和方法 89<br/> 4.1 类的基础知识 90<br/> 4.1.1 类的基本形式 90<br/> 4.1.2 定义类 91<br/> 4.2 如何创建对象 94<br/> 4.3 引用变量和赋值 94<br/> 4.4 方法 95<br/> 4.5 从方法返回值 97<br/> 4.6 返回值 98<br/> 4.7 使用形参 100<br/> 4.8 构造函数 107<br/> 4.9 带形参的构造函数 109<br/> 4.10 深入介绍new运算符 110<br/> 4.11 垃圾回收 111<br/> 4.12 this关键字 111<br/> 4.13 自测题 113<br/> 第5章 其他数据类型与运算符 115<br/> 5.1 数组 116<br/> 5.2 多维数组 121<br/> 5.2.1 二维数组 121<br/> 5.2.2 不规则数组 122<br/> 5.2.3 三维或更多维的数组 123<br/> 5.2.4 初始化多维数组 123<br/> 5.3 另一种声明数组的语法 124<br/> 5.4 数组引用赋值 125<br/> 5.5 使用length成员 126<br/> 5.6 for-each形式的循环 131<br/> 5.6.1 迭代多维数组 134<br/> 5.6.2 应用增强型for循环 135<br/> 5.7 字符串 135<br/> 5.7.1 构造字符串 136<br/> 5.7.2 操作字符串 136<br/> 5.7.3 字符串数组 138<br/> 5.7.4 字符串是不可变的 139<br/> 5.7.5 使用String控制switch语句 140<br/> 5.8 使用命令行实参 142<br/> 5.9 使用局部变量的类型推断功能 143<br/> 5.9.1 引用类型的局部变量类型推断 145<br/> 5.9.2 在for循环中使用局部变量类型推断 146<br/> 5.9.3 var的一些限制 147<br/> 5.10 位运算符 147<br/> 5.10.1 位运算符的与、或、异或和非 148<br/> 5.10.2 移位运算符 151<br/> 5.10.3 位运算符的赋值速记符 153<br/> 5.11 ?运算符 156<br/> 5.12 自测题 157<br/> 第6章 方法和类详解 159<br/> 6.1 控制对类成员的访问 160<br/> 6.2 向方法传递对象 165<br/> 6.3 返回对象 168<br/> 6.4 方法重载 170<br/> 6.5 重载构造函数 175<br/> 6.6 递归 179<br/> 6.7 理解static关键字 181<br/> 6.8 嵌套类和内部类 187<br/> 6.9 varargs:可变长度的实参 190<br/> 6.9.1 varargs基础 190<br/> 6.9.2 重载varargs方法 193<br/> 6.9.3 varargs和歧义 194<br/> 6.10 自测题 195<br/> 第7章 继承 197<br/> 7.1 继承的基础知识 198<br/> 7.2 成员访问与继承 201<br/> 7.3 构造函数和继承 203<br/> 7.4 使用super调用超类构造函数 205<br/> 7.5 使用super访问超类成员 208<br/> 7.6 创建多级层次结构 212<br/> 7.7 何时执行构造函数 215<br/> 7.8 超类引用和子类对象 216<br/> 7.9 方法重写 220<br/> 7.10 重写的方法支持多态性 222<br/> 7.11 为何使用重写方法 224<br/> 7.12 使用抽象类 227<br/> 7.13 使用final 231<br/> 7.13.1 使用final防止重写 231<br/> 7.13.2 使用final防止继承 232<br/> 7.13.3 对数据成员使用final 232<br/> 7.14 Object类 233<br/> 7.15 自测题 234<br/> 第8章 包和接口 237<br/> 8.1 包 238<br/> 8.1.1 定义包 239<br/> 8.1.2 寻找包和CLASSPATH 239<br/> 8.1.3 一个简短的包示例 240<br/> 8.2 包和成员访问 241<br/> 8.3 理解被保护的成员 243<br/> 8.4 导入包 245<br/> 8.5 Java的类库位于包中 246<br/> 8.6 接口 247<br/> 8.7 实现接口 248<br/> 8.8 使用接口引用 251<br/> 8.9 接口中的变量 258<br/> 8.10 接口能够扩展 258<br/> 8.11 默认接口方法 259<br/> 8.11.1 默认方法的基础知识 260<br/> 8.11.2 默认方法的实际应用 261<br/> 8.11.3 多继承问题 262<br/> 8.12 在接口中使用静态方法 263<br/> 8.13 私有接口方法 264<br/> 8.14 有关包和接口的最后思考 265<br/> 8.15 自测题 265<br/> 第9章 异常处理 267<br/> 9.1 异常的层次结构 268<br/> 9.2 异常处理基础 269<br/> 9.2.1 使用关键字try和catch 269<br/> 9.2.2 一个简单的异常示例 270<br/> 9.3 未捕获异常的后果 272<br/> 9.4 使用多个catch语句 274<br/> 9.5 捕获子类异常 275<br/> 9.6 try代码块可以嵌套 276<br/> 9.7 抛出异常 277<br/> 9.8 Throwable详解 279<br/> 9.9 使用finally 280<br/> 9.10 使用throws语句 282<br/> 9.11 另外3种异常功能 283<br/> 9.12 Java的内置异常 284<br/> 9.13 创建异常子类 286<br/> 9.14 自测题 291<br/> 第10章 使用I/O 293<br/> 10.1 基于流的Java I/O 294<br/> 10.2 字节流和字符流 294<br/> 10.3 字节流类 295<br/> 10.4 字符流类 295<br/> 10.5 预定义流 296<br/> 10.6 使用字节流 296<br/> 10.6.1 读取控制台输入 297<br/> 10.6.2 写入控制台输出 298<br/> 10.7 使用字节流读写文件 299<br/> 10.7.1 从文件输入 299<br/> 10.7.2 写入文件 303<br/> 10.8 自动关闭文件 304<br/> 10.9 读写二进制数据 307<br/> 10.10 随机访问文件 311<br/> 10.11 使用Java字符流 313<br/> 10.11.1 使用字符流的控制台输入 314<br/> 10.11.2 使用字符流的控制台输出 317<br/> 10.12 使用字符流的文件I/O 318<br/> 10.12.1 使用FileWriter 318<br/> 10.12.2 使用FileReader 319<br/> 10.13 使用Java的类型封装器转换数值字符串 320<br/> 10.14 自测题 328<br/> 第11章 多线程程序设计 331<br/> 11.1 多线程的基础知识 332<br/> 11.2 Thread类和Runnable接口 333<br/> 11.3 创建一个线程 333<br/> 11.4 创建多个线程 342<br/> 11.5 确定线程何时结束 345<br/> 11.6 线程的优先级 348<br/> 11.7 同步 350<br/> 11.8 使用同步方法 351<br/> 11.9 同步语句 354<br/> 11.10 使用notify( )、wait( )和notifyAll( )的线程通信 356<br/> 11.11 线程的挂起、继续执行和停止 361<br/> 11.12 自测题 366<br/> 第12章 枚举、自动装箱、注解和其他特性 367<br/> 12.1 枚举 368<br/> 12.2 Java语言中的枚举是类类型 370<br/> 12.3 values( )和valueOf( )方法 371<br/> 12.4 构造函数、方法、实例变量和枚举 372<br/> 12.5 枚举继承enum 374<br/> 12.6 自动装箱 380<br/> 12.7 类型封装器 380<br/> 12.8 自动装箱的基础知识 382<br/> 12.9 自动装箱和方法 383<br/> 12.10 发生在表达式中的自动装箱/<br/> 自动拆箱 384<br/> 12.11 静态导入 386<br/> 12.12 注解(元数据) 388<br/> 12.13 instanceof运算符 390<br/> 12.14 自测题 392<br/> 第13章 泛型 395<br/> 13.1 泛型的基础知识 396<br/> 13.2 简单的泛型示例 397<br/> 13.2.1 泛型只能用于引用类型 400<br/> 13.2.2 泛型类型根据其类型参数而不同 400<br/> 13.2.3 带有两个类型形参的泛型类 400<br/> 13.2.4 泛型类的一般形式 402<br/> 13.3 受限类型 402<br/> 13.4 使用通配符实参 405<br/> 13.5 受限通配符 408<br/> 13.6 泛型方法 410<br/> 13.7 泛型构造函数 412<br/> 13.8 泛型接口 413<br/> 13.9 原类型和遗留代码 419<br/> 13.10 使用菱形运算符进行类型推断 421<br/> 13.11 局部变量类型推断和泛型 422<br/> 13.12 擦除特性 423<br/> 13.13 歧义错误 423<br/> 13.14 一些泛型限制 424<br/> 13.14.1 类型形参不能被实例化 424<br/> 13.14.2 对静态成员的限制 424<br/> 13.14.3 泛型数组限制 425<br/> 13.14.4 泛型异常限制 426<br/> 13.15 继续学习泛型 426<br/> 13.16 自测题 426<br/> 第14章 lambda表达式和方法引用 429<br/> 14.1 lambda表达式简介 430<br/> 14.1.1 lambda表达式的基础知识 431<br/> 14.1.2 函数式接口 432<br/> 14.1.3 几个lambda表达式示例 433<br/> 14.2 块lambda表达式 438<br/> 14.3 泛型函数式接口 439<br/> 14.4 lambda表达式和变量捕获 444<br/> 14.5 从 lambda表达式中抛出异常 446<br/> 14.6 方法引用 447<br/> 14.6.1 静态方法的方法引用 447<br/> 14.6.2 实例方法的方法引用 449<br/> 14.7 构造函数引用 452<br/> 14.8 预定义的函数式接口 455<br/> 14.9 自测题 456<br/> 第15章 模块 459<br/> 15.1 模块基础 460<br/> 15.1.1 简单的模块示例 461<br/> 15.1.2 编译、运行第一个模块示例 465<br/> 15.1.3 详述requires和exports 466<br/> 15.2 java.base和平台模块 466<br/> 15.3 旧代码和未命名的模块 467<br/> 15.4 导出到特定的模块 468<br/> 15.5 使用requires transitive 469<br/> 15.6 使用服务 473<br/> 15.6.1 服务和服务提供程序的基础知识 473<br/> 15.6.2 基于服务的关键字 474<br/> 15.6.3 基于模块的服务示例 474<br/> 15.7 其他模块功能 480<br/> 15.7.1 open模块 480<br/> 15.7.2 opens语句 481<br/> 15.7.3 requires static 481<br/> 15.8 继续学习模块 481<br/> 15.9 自测题 482<br/> 第16章 switch表达式、记录以及其他新近添加的特性 483<br/> 16.1 switch的增强 484<br/> 16.1.2 switch表达式和yield语句简介 486<br/> 16.1.3 case语句中的箭头 488<br/> 16.1.4 深入介绍箭头case 489<br/> 16.2 记录 495<br/> 16.2.1 记录的基础知识 495<br/> 16.2.2 创建记录构造函数 497<br/> 16.2.3 深入介绍记录的getter方法 501<br/> 16.3 instanceof的模式匹配 502<br/> 16.4 密封类和密封接口 503<br/> 16.4.1 密封类 504<br/> 16.4.2 密封接口 506<br/> 16.5 未来的发展方向 507<br/> 16.6 自测题 507<br/> 第17章 Swing介绍 509<br/> 17.1 Swing的起源和设计原则 510<br/> 17.2 组件和容器 512<br/> 17.2.1 组件 512<br/> 17.2.2 容器 513<br/> 17.2.3 顶级容器窗格 513<br/> 17.3 布局管理器 513<br/> 17.4 第一个简单的Swing程序 514<br/> 17.5 Swing事件处理 518<br/> 17.5.1 事件 518<br/> 17.5.2 事件源 519<br/> 17.5.3 事件监听器 519<br/> 17.5.4 事件类和监听器接口 519<br/> 17.6 使用JButton 520<br/> 17.7 使用JTextField 523<br/> 17.8 创建JCheckBox 526<br/> 17.9 使用JList 529<br/> 17.10 使用匿名内部类或lambda表达式来处理事件 538<br/> 17.11 自测题 539<br/> —以下内容通过扫描封底二维码获取—<br/> 附录A 自测题答案 541<br/> 附录B 使用Java的文档注释 579<br/> 附录C 编译和运行简单的单文件程序 589<br/> 附录D JShell简介 591<br/> 附录E 更多Java关键字 601<br/> · · · · · · (收起)
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/6625.html