第7版 Java编程入门官方教程

Java编程入门官方教程(第7版)出版信息Java编程入门官方教程(第7版)作者:[美]Herbert Schildt 着 左雷 译定价:89元印次:1-1ISBN:9787302499329出版日期:2018.06.01印刷日期:2018.05.25内容简介针对Java SE 9做了全面细緻的更新,将引导你轻鬆学习新的核心Java编程技能,指导你立即着手编写Java程式 。《Java编程入门官方教程(第7版)》开篇讲述Java语言基础知识(如创建、编译和运行Java程式的方式),此后浓墨重彩地描述构成Java语言核心的关键字、语法和结构 。最后介绍Java的一些高级特性,如多执行绪程式设计、泛型、lambda表达式、Swing、JavaFX、新“模组”功能以及Java最新的互动式编程工具Jshell 。目录第1章Java基础11.1Java的起源11.2Java对Internet的贡献21.2.1Java简化了基于Web的编程31.2.2Javaapplet31.2.3安全性31.2.4可移植性31.3Java的魔法:位元组码31.4超越applet41.5Java的主要术语41.6面向对象程式设计51.6.1封装51.6.2多态性61.6.3继承61.7获得Java开发工具包61.8第一个简单的程式71.8.1输入程式71.8.2编译程式81.8.3逐行分析第一个程式81.9处理语法错误91.10第二个简单程式101.11另一种数据类型111.12两条控制语句131.12.1if语句131.12.2for循环语句141.13创建代码块151.14分号和定位161.15缩进原则161.16Java关键字181.17Java标识符181.18Java类库191.19自测题19第2章数据类型与运算符212.1数据类型为什幺重要212.2Java的基本类型212.2.1整数类型222.2.2浮点型232.2.3字元型232.2.4布尔类型242.3字面值262.3.1十六进制、八进制和二进制字面值262.3.2字元转义序列262.3.3字元串字面值272.4变数详解282.4.1初始化变数282.4.2动态初始化282.5变数的作用域和生命期282.6运算符302.7算术运算符302.8关係运算符和逻辑运算符322.9短路逻辑运算符332.10赋值运算符342.11速记赋值342.12赋值中的类型转换352.13不兼容类型的强制转换362.14运算符的优先权372.15表达式382.15.1表达式中的类型转换382.15.2间距和圆括弧402.16自测题40第3章程式控制语句413.1从键盘输入字元413.2if语句423.2.1嵌套if语句433.2.2if-else-if阶梯状结构443.3switch语句443.4for循环483.4.1for循环的一些变体503.4.2缺失部分要素的for循环503.4.3无限循环513.4.4没有循环体的循环513.4.5在for循环内部声明循环控制变数523.4.6增强型for循环523.5while循环523.6do-while循环543.7使用break语句退出循环573.8将break语句作为一种goto语句使用583.9使用continue语句613.10嵌套循环653.11自测题65第4章类、对象和方法674.1类的基础知识674.1.1类的基本形式674.1.2定义类684.2如何创建对象704.3引用变数和赋值704.4方法714.5从方法返回值734.6返回值734.7使用形参754.8构造函式814.9带形参的构造函式824.10深入介绍new运算符834.11垃圾回收834.12this关键字844.13自测题85第5章其他数据类型与运算符875.1数组875.2多维数组915.3不规则数组915.3.1三维或更多维的数组925.3.2初始化多维数组935.4另一种声明数组的语法935.5数组引用赋值945.6使用length成员955.7for-each形式的循环995.7.1叠代多维数组1015.7.2套用增强型for循环1025.8字元串1025.8.1构造字元串1025.8.2操作字元串1035.8.3字元串数组1045.8.4字元串是不可变的1055.8.5使用String控制switch语句1065.9使用命令行实参1065.10位运算符1075.10.1位运算符的与、或、异或和非1085.10.2移位运算符1115.10.3位运算符的赋值速记符1125.11?运算符1145.12自测题115第6章方法和类详解1176.1控制对类成员的访问1176.2向方法传递对象1216.3返回对象124 6.4方法重载1256.5重载构造函式1296.6递归1326.7理解static关键字1346.8嵌套类和内部类1386.9varargs1406.9.1varargs基础1416.9.2重载varargs方法1436.9.3varargs和歧义1446.10自测题145第7章继承1477.1继承的基础知识1477.2成员访问与继承1497.3构造函式和继承1517.4使用super调用超类构造函式1527.5使用super访问超类成员1557.6创建多级层次结构1587.7何时调用构造函式1607.8超类引用和子类对象1617.9方法重写1647.10重写的方法支持多态性1667.11为何使用重写方法1677.12使用抽象类1707.13使用final1737.13.1使用final防止重写1737.13.2使用final防止继承1747.13.3对数据成员使用final1747.14Object类1757.15自测题175第8章包和接口1778.1包1778.1.1定义包1778.1.2寻找包和CLASSPATH1788.1.3一个简短的包示例1788.2包和成员访问1798.3理解被保护的成员1818.4导入包1828.5Java的类库位于包中1838.6接口1848.7实现接口1858.8使用接口引用1878.9接口中的变数1928.10接口能够扩展1938.11默认接口方法1938.11.1默认方法的基础知识1948.11.2默认方法的实际套用1958.11.3多继承问题1968.12在接口中使用静态方法1968.13私有接口方法1978.14有关包和接口的最后思考1988.15自测题198第9章异常处理1999.1异常的层次结构1999.2异常处理基础2009.2.1使用关键字try和catch2009.2.2一个简单的异常示例2009.3未捕获异常的结果2029.4使用多个catch语句2039.5捕获子类异常2049.6try代码块可以嵌套2059.7抛出异常2069.8Throwable详解2079.9使用finally2089.10使用throws语句2109.11新增的3种异常功能2119.12Java的内置异常2129.13创建异常子类2139.14自测题217第10章使用I/O21910.1Java的I/O基于流21910.2位元组流和字元流21910.3位元组流类220 10.4字元流类22010.5预定义流22110.6使用位元组流22110.6.1读取控制台输入22210.6.2写入控制台输出22310.7使用位元组流读写档案22310.7.1从档案输入22310.7.2写入档案22610.8自动关闭档案22710.9读写二进制数据22910.10随机访问档案23210.11使用Java字元流23410.11.1使用字元流的控制台输入23510.11.2使用字元流的控制台输出23710.12使用字元流的档案I/O23710.12.1使用FileWriter23810.12.2使用FileReader23810.13使用Java的类型封装器转换数值字元串23910.14自测题246第11章多执行绪程式设计24711.1多执行绪的基础知识24711.2Thread类和Runnable接口24811.3创建一个执行绪24811.4创建多个执行绪25511.5确定执行绪何时结束25711.6执行绪的优先权25911.7同步26211.8使用同步方法26211.9同步语句26411.10使用notify()、wait()和notifyAll()的执行绪通信26611.11执行绪的挂起、继续执行和停止27011.12自测题274第12章枚举、自动装箱、静态导入和注解27512.1枚举27512.2Java语言中的枚举是类类型27712.3values()和valueOf()方法27712.4构造函式、方法、实例变数和枚举27812.5枚举继承enum27912.6自动装箱28412.7类型封装器28412.8自动装箱的基础知识28612.9自动装箱和方法28612.10发生在表达式中的自动装箱/自动拆箱28712.11静态导入28912.12注解(元数据)29012.13自测题292第13章泛型29513.1泛型的基础知识29513.2一个简单的泛型示例29613.2.1泛型只能用于引用类型29813.2.2泛型类型是否相同基于其类型实参29813.2.3带有两个类型形参的泛型类29913.2.4泛型类的一般形式30013.3约束类型30013.4使用通配符实参30213.5约束通配符30413.6泛型方法30613.7泛型构造函式30813.8泛型接口30813.9原类型和遗留代码31313.10使用菱形运算符进行类型推断315 13.11擦除特性31513.12歧义错误31613.13一些泛型限制31613.13.1类型形参不能实例化31613.13.2对静态成员的限制31713.13.3泛型数组限制31713.13.4泛型异常限制31813.14继续学习泛型31813.15自测题318第14章lambda表达式和方法引用31914.1lambda表达式简介31914.1.1lambda表达式的基础知识32014.1.2函式式接口32014.1.3几个lambda表达式示例32214.2块lambda表达式32514.3泛型函式式接口32614.4lambda表达式和变数捕获33014.5从lambda表达式中抛出异常33114.6方法引用33214.6.1静态方法的方法引用33214.6.2实例方法的方法引用33414.7构造函式引用33614.8预定义的函式式接口33814.9自测题339第15章模组34115.1模组基础34115.1.1简单的模组示例34215.1.2编译、运行第一个模组示例34515.1.3requires和exports34615.2java.base和平台模组34615.3旧代码和未命名的模组34715.4导出到特定的模组34715.5使用requirestransitive34815.6使用服务35115.6.1服务和服务提供程式的基础知识35115.6.2基于服务的关键字35115.6.3基于模组的服务示例35215.7其他模组功能35615.7.1open模组35715.7.2opens语句35715.7.3requiresstatic35715.8继续模组的学习35715.9自测题358第16章Swing介绍35916.1Swing的起源和设计原则35916.2组件和容器36016.2.1组件36116.2.2容器36116.2.3顶级容器窗格36116.3布局管理器36216.4第一个简单的Swing程式36216.5Swing事件处理36516.5.1事件36516.5.2事件源36516.5.3事件监听器36616.5.4事件类和监听器接口36616.6使用JButton36616.7使用JTextField36916.8使用JCheckBox37116.9使用JList37416.10使用匿名内部类或lambda表达式来处理事件38016.11自测题381第17章JavaFX简介38317.1JavaFX的基本概念383 17.1.1JavaFX包38417.1.2Stage和Scene类38417.1.3节点和场景图38417.1.4布局38417.1.5Application类和生命周期方法38417.1.6启动JavaFX应用程式38517.2JavaFX应用程式的骨架38517.3编译和运行JavaFX程式38717.4应用程式执行绪38717.5使用简单的JavaFX控制项Label38717.6使用按钮和事件38917.6.1事件基础38917.6.2按钮控制项简介39017.6.3演示事件处理和按钮39017.7其他3个JavaFX控制项39217.7.1CheckBox39217.7.2ListView39617.7.3TextField39917.8效果和变换简介40117.8.1效果40117.8.2变换40317.8.3演示效果和变换40317.9进一步学习40617.10自测题406附录A自测题答案409附录B使用Java的文档注释439附录CJavaWebStart概述445附录DJShell简介451附录E更多Java关键字459