内容简介:
《Java7程序设计入门经典》(作者施密特、斯克林)是一本在世界范围内有一定影响力的经典Java教程,由拥有数十年编程经验的资深软件开发专家撰写,被世界多所著名高校作为教材,广受好评,是最适合教学和自学的Java参考书之一。本书根据最新的Java 7撰写,全面系统地讲解了Java语言的语法和核心要素、利用Swing进行GUI编程以及Java API库三大方面的内容,包含大量代码示例、练习和自测题。
《Java7程序设计入门经典》共27章,分为三部分。第一部分(第1~16章)描述定义Java语言的元素和编程的核心元素,首先对Java进行概述,然后介绍数据类型、运算符和控制语句的基本概念,接着讲解该语言更复杂的特性,如类、方法、继承、接口、包、异常、多线程和泛型。第二部分(第17~21章)介绍Swing,首先对用Swing进行GUI编程进行概述,阐述组件、事件、布局管理器的基本概念,然后依次对Swing组件、菜单、对话框、绘图等进行介绍。第三部分(第22~27章)探究Java API库的部分内容,其中包括java.lang包和java.util包的大部分内容,以及集合框架、网络和并发API等。
作者简介:
世界知名程序设计大师,是c、c++、Java和c#编程语言方面的权威,也是windowrs编程方面的专家。拥有伊利诺伊大学的计算机科学硕士学位。畅销书作家,他的编程书籍销量已经超过300万册,并被翻译成多种语言在世界范围内广为流传。美国科尔比学院计算机科学系教授,研究方向为算法图形理论、面向对象程序设计。拥有30多年丰富的教学经验,讲授过数学、计算机科学以及Java课程。他出版过教科书《面向对象设计原理与模式(Java版)》
资源目录:
译者序
前言
第一部分 Java语言
第1章 Java编程基础2
1.1 计算基础3
1.1.1 计算机的硬件组成3
1.1.2 位、字节和二进制4
1.1.3 操作系统5
1.2 程序5
1.3 编程语言6
1.4 Java语言7
1.4.1 Java的起源7
1.4.2 Java对互联网的贡献9
1.4.3 Java applet9
1.4.4 安全性9
1.4.5 可移植性9
1.4.6 Java的解决方案:字节码10
1.4.7 Java的演进10
1.5 面向对象编程的关键特性11
1.5.1 封装12
1.5.2 多态12
1.5.3 继承13
1.6 Java开发工具包13
1.7 第一个简单的程序14
1.7.1 输入程序15
1.7.2 编译程序15
1.7.3 运行程序15
1.7.4 逐行解析第一个简单的程序16
1.8 处理语法错误18
1.9 第二个简单的程序18
1.10 另一种数据类型20
1.11 两种控制语句23
1.11.1 if语句23
1.11.2 for循环25
1.12 创建代码块26
1.13 分号和语句的位置27
1.14 关于缩进28
1.15 Java关键字30
1.16 Java中的标识符30
1.17 Java类库31
1.18 习题32
第2章 数据类型和运算符34
2.1 为什么数据类型很重要34
2.2 Java的基本数据类型34
2.2.1 整数35
2.2.2 浮点类型36
2.2.3 字符37
2.2.4 布尔类型38
2.3 字面量40
2.3.1 十六进制、八进制和二进制字面量41
2.3.2 转义字符序列41
2.3.3 字符串字面量42
2.4 深入解析变量43
2.4.1 初始化变量43
2.4.2 动态初始化44
2.5 变量的作用域和生命周期44
2.6 运算符47
2.7 算术运算符47
2.8 关系运算符和逻辑运算符49
2.9 具有“短路”功能的逻辑运算符50
2.10 赋值运算符52
2.11 速记赋值运算符53
2.12 赋值中的类型转换53
2.13 使用强制类型转换55
2.14 运算符的优先级56
2.15 表达式58
2.15.1 表达式中的类型转换58
2.15.2 空白和圆括号60
2.16 习题60
第3章 程序控制语句63
3.1 从键盘输入字符63
3.2 if语句65
3.3 嵌套的if语句66
3.4 if-else-if梯队67
3.5 switch语句68
3.6 嵌套的switch语句71
3.7 for循环74
3.8 for循环中的一些特殊情况76
3.8.1 缺少部分76
3.8.2 无限循环77
3.8.3 没有循环体的循环78
3.9 在for语句内部声明循环控制变量78
3.10 增强的for循环79
3.11 while循环80
3.12 do-while循环81
3.13 使用break语句退出循环86
3.14 像使用goto语句一样使用break语句88
3.15 使用continue语句91
3.16 嵌套的循环96
3.17 习题97
第4章 类、对象和方法初探100
4.1 类的基础知识100
4.1.1 类的一般形式101
4.1.2 定义类101
4.2 如何创建对象104
4.3 变量引用和赋值语句105
4.4 方法106
4.5 从方法返回108
4.6 返回值109
4.7 使用形参111
4.8 构造函数119
4.9 含有形参的构造函数120
4.10 new运算符再探123
4.11 垃圾回收和终结器123
4.12 使用this关键字126
4.13 习题128
第5章 更多数据类型和运算符131
5.1 数组131
5.2 多维数组136
5.2.1 二维数组136
5.2.2 不规则数组137
5.2.3 三维或多维数组139
5.2.4 初始化多维数组139
5.3 其他声明数组的语法140
5.4 对数组的引用赋值141
5.5 使用成员length142
5.6 for-each风格的for循环149
5.6.1 遍历多维数组152
5.6.2 应用增强for循环153
5.7 字符串154
5.7.1 构造字符串154
5.7.2 操作字符串155
5.7.3 字符串数组156
5.7.4 字符串是不可改变的157
5.7.5 使用字符串控制switch语句158
5.8 使用命令行参数159
5.9 按位运算161
5.9.1 按位与、按位或、按位异或、按位非运算符161
5.9.2 移位运算符165
5.9.3 位速记赋值运算符167
5.10 问号运算符170
5.11 习题171
第6章 深入解析类和方法174
6.1 控制对类成员的访问174
6.2 向方法传递对象180
6.3 如何传递实参181
6.4 返回对象183
6.5 重载方法185
6.6 重载构造函数189
6.7 递归195
6.8 理解关键字static199
6.8.1 静态变量199
6.8.2 静态方法201
6.8.3 静态代码块203
6.9 嵌套类和内部类207
6.10 长度可变的实参vararg210
6.10.1 vararg基础210
6.10.2 重载varargs方法213
6.10.3 vararg和二义性214
6.11 习题215
第7章 继承220
7.1 继承基础220
7.2 成员访问和继承223
7.3 构造函数和继承226
7.4 用super关键字调用超类的构造函数227
7.5 用super关键字访问超类成员232
7.6 创建多层层次结构235
7.7 执行构造函数的时机238
7.8 超类引用与子类对象239
7.9 方法重写244
7.10 用重写方法支持多态246
7.11 为什么要重写方法248
7.12 使用抽象类252
7.13 使用final关键字256
7.13.1 用final关键字防止方法重写256
7.13.2 用final关键字防止继承257
7.13.3 对数据成员使用final关键字257
7.14 Object类258
7.15 习题259
第8章 接口261
8.1 接口的基础知识261
8.2 创建接口262
8.3 实现接口263
8.4 使用接口引用266
8.5 实现多个接口268
8.6 接口中的常量276
8.7 可扩展的接口277
8.8 嵌套的接口278
8.9 关于接口的最后思考279
8.10 习题279
第9章 包281
9.1 包的基础知识281
9.1.1 定义包282
9.1.2 寻找包与环境变量CLASSPATH282
9.1.3 一个短小的包例子283
9.2 包与成员访问284
9.2.1 一个包访问的例子285
9.2.2 受保护的成员287
9.3 导入包289
9.4 静态导入293
9.5 习题295
第10章 异常处理298
10.1 异常层次结构298
10.2 异常处理基础299
10.2.1 使用关键字try和catch299
10.2.2 一个简单的异常处理例子300
10.3 未捕获异常的后果302
10.4 异常可以优雅地处理错误303
10.5 使用多个catch子句305
10.6 捕获子类异常306
10.7 嵌套的try块307
10.8 抛出异常309
10.9 进一步解读Throwable类311
10.10 使用finally块312
10.11 使用throws关键字314
10.12 Java的内置异常315
10.13 JDK 7中新添加的异常特性317
10.14 创建异常子类319
10.15 习题325
第11章 使用输入/输出329
11.1 Java的输入/输出是建立在流上的330
11.2 字节流和字符流330
11.3 字节流类330
11.4 字符流类331
11.5 预定义的流331
11.6 使用字节流332
11.6.1 读控制台输入333
11.6.2 写控制台输出334
11.7 使用字节流读写文件335
11.7.1 从文件中输入335
11.7.2 写文件339
11.8 自动关闭文件340
11.9 读写二进制数据343
11.10 随机访问文件347
11.11 使用Java字符流350
11.11.1 用控制台获得字符流输入351
11.11.2 使用字符流进行控制台输出353
11.12 使用字符流进行文件输入/输出354
11.12.1 使用FileWriter类355
11.12.2 使用FileReader类356
11.12.3 File类357
11.12.4 获得文件属性357
11.12.5 获得目录列表359
11.12.6 使用FilenameFilter接口360
11.12.7 listFiles()方法361
11.12.8 多种文件实用方法361
11.13 使用Java的类型包装器来转换数值字符串363
11.14 习题371
第12章 多线程编程375
12.1 多线程基础375