登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』Java技术及应用(第2版)

書城自編碼: 3033698
分類: 簡體書→大陸圖書→教材研究生/本科/专科教材
作者: 赵锐李卫华
國際書號(ISBN): 9787302475156
出版社: 清华大学出版社
出版日期: 2017-08-01
版次: 2 印次: 1
頁數/字數: 317/505000
書度/開本: 32开 釘裝: 平装

售價:NT$ 353

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
图坦卡蒙和改变世界的陵墓
《 图坦卡蒙和改变世界的陵墓 》

售價:NT$ 447.0
儿童心理画:孩子的画会说话,孩子的画这样读
《 儿童心理画:孩子的画会说话,孩子的画这样读 》

售價:NT$ 386.0
海外中国研究·古代中华观念的形成
《 海外中国研究·古代中华观念的形成 》

售價:NT$ 437.0
街头官僚:公共服务中的个人困境(公共行政与公共管理经典译丛;“十二五”国家重点图书出版规划项目)
《 街头官僚:公共服务中的个人困境(公共行政与公共管理经典译丛;“十二五”国家重点图书出版规划项目) 》

售價:NT$ 493.0
芯片战争:世界最关键技术的争夺战
《 芯片战争:世界最关键技术的争夺战 》

售價:NT$ 717.0
唐代玄宗肃宗之际的中枢政局
《 唐代玄宗肃宗之际的中枢政局 》

售價:NT$ 420.0
能源与动力工程测试技术(穆林)
《 能源与动力工程测试技术(穆林) 》

售價:NT$ 442.0
大学问·明清江南商业的发展
《 大学问·明清江南商业的发展 》

售價:NT$ 498.0

編輯推薦:
本书是《Java技术及其应用》的第2版,对第1版内容做了如下改进:1 为了更适合教学,调整了第1版中部分章节的顺序;2 在第1版的原有章节中添加了一些内容作为补充,使得章节内容更为完整,便于读者学习理解;3 增加了lambda表达式、接口方法的默认实现以及JavaFX等这些Java 8 新引入内容的介绍;4 根据Java 8技术的新特点对全书内容做了修正。
全书共分十二章,分别介绍了Java的语言基础、面向对像结构、lambda表达式及其应用、常用实用类、增强性能类、输入输出流、收集与数据结构应用、小程序及多媒体应用、图形用户界面及桌面应用、JDBC与数据库应用、网络与Web服务应用、JavaBeans及组件应用等方面的内容,一些过深、初学者难以理解的内容则没有引入或只是简单介绍。
內容簡介:
全书共分12章。第1章主要介绍了Java的语言基础,内容包括数据类型、表达式、控制流程、注解以及Java的开发环境等;第2章主要介绍了Java语言的面向对象结构,内容包括类与对象、类的继承、嵌套类、抽象类与接口、多态、泛型等;第3章主要介绍了lambda表达式以及与其相关的方法引用等内容;第4章主要介绍了数学类、正则表达式相关类、字符串类等一些常用实用类的使用;第5章主要介绍了用于异常处理、线程以及反射的一些增强性能类;第6章主要介绍了Java的输入输出流类及部分相关的应用;第7章主要介绍了收集系列的接口与类以及它们在数据结构中的应用;第8章主要介绍了Java的小程序及多媒体应用方面的内容;第9章主要介绍了Java的图形用户界面以及桌面应用,内容包括AWT、Swing、JavaFX的使用等;第10章主要介绍了JDBC及在数据库中的应用,内容包括数据库相关概念、JDBC概述、JDBC访问数据库、连接、事务、存储过程等;第11章主要介绍了Java的网络应用,内容包括URL应用、Socket应用以及Datagram应用;第12章主要介绍了JavaBeans的有关概念及其在JSP中的应用。
目錄
第1章 Java基础1
1.1 数据类型1
1.1.1 Java的标记集1
1.1.2 基本数据类型的变量与声明4
1.1.3 变量范围5
1.1.4 数组类型5
1.2 表达式7
1.2.1 算术运算7
1.2.2 关系运算8
1.2.3 布尔逻辑运算9
1.2.4 位运算10
1.2.5 赋值运算12
1.2.6 条件运算13
1.2.7 类型转换运算13
1.2.8 其他运算14
1.3 控制流程14
1.3.1 if-else流程14
1.3.2 switch流程16
1.3.3 for流程17
1.3.4 增强的for流程18
1.3.5 while流程19
1.3.6 do-while流程20
1.3.7 break语句21
1.3.8 continue语句22
1.3.9 label语句23
1.3.10 return语句24
1.4 注解25
1.5 编译工具26
1.6 平台环境27
1.6.1 PATH和CLASSPATH27
1.6.2 编译与运行27
1.6.3 命令行参数27
1.6.4 集成开发环境28
1.7 小结29
习题129
第2章 面向对象结构32
2.1 类与对象32
2.1.1 类与对象的概念32
2.1.2 类与对象的关系33
2.2 类的定义33
2.2.1 类声明部分34
2.2.2 类体部分35
2.2.3 成员变量36
2.2.4 方法38
2.2.5 构造方法41
2.2.6 方法重载42
2.3 对象44
2.3.1 对象的创建44
2.3.2 对象的使用45
2.3.3 对象的清除46
2.4 类的继承47
2.4.1 合成与继承47
2.4.2 方法重写48
2.4.3 构造方法继承49
2.4.4 类继承示例49
2.5 嵌套类51
2.5.1 静态嵌套类52
2.5.2 内部类52
2.5.3 局部内部类53
2.5.4 匿名内部类54
2.6 抽象类与接口54
2.6.1 抽象类54
2.6.2 接口55
2.7 多态60
2.7.1 抽象类与多态61
2.7.2 接口与多态62
2.8 泛型63
2.8.1 定义泛型类型64
2.8.2 限界类型参数66
2.8.3 通配符66
2.8.4 类型擦除67
2.9 枚举67
2.10 基本类型的类封装68
2.11 包与版本识别69
2.11.1 包69
2.11.2 版本识别71
2.12 小结71
习题271
第3章 lambda表达式及其应用73
3.1 lambda表达式简介73
3.2 lambda表达式应用74
3.3 方法引用77
3.4 小结81
习题381
第4章 常用实用类82
4.1 数学类82
4.2 正则表达式支持类83
4.2.1 正则表达式基础84
4.2.2 正则表达式字符类84
4.2.3 预定义字符集85
4.2.4 量词86
4.2.5 边界匹配符86
4.2.6 Pattern类87
4.2.7 Matcher类88
4.2.8 PatternSyntaxException类89
4.3 字符串类89
4.3.1 String类90
4.3.2 String类和正则表达式90
4.3.3 StringBuilder类91
4.4 日期时间类93
4.4.1 Date93
4.4.2 Calendar94
4.4.3 GregorianCalendar95
4.5 小结95
习题495
第5章 增强性能类97
5.1 异常处理97
5.1.1 异常97
5.1.2 捕获与声明的要求99
5.1.3 处理异常99
5.1.4 新形式的try块语句104
5.1.5 抛出异常105
5.1.6 创建自己的Exception类106
5.2 并发108
5.2.1 线程109
5.2.2 同步与锁定115
5.3 反射121
5.3.1 Class类121
5.3.2 检查类信息122
5.4 小结123
习题5123
第6章 输入输出流125
6.1 文件访问125
6.1.1 File类125
6.1.2 RandomAccessFile类127
6.2 字节流129
6.2.1 InputStream及其子类129
6.2.2 OutputStream及其子类132
6.2.3 文件字节流134
6.2.4 管道流135
6.2.5 数据流136
6.2.6 字节缓冲流139
6.2.7 字节打印流140
6.2.8 字节数组流142
6.2.9 对象流143
6.3 字符流145
6.3.1 Reader类及其子类145
6.3.2 Writer类及其子类146
6.3.3 字符缓冲流146
6.3.4 转换流147
6.3.5 字符打印流149
6.4 新IO149
6.4.1 Buffer类149
6.4.2 Channel接口150
6.5 扫描输入与格式化输出150
6.5.1 Scanner类150
6.5.2 Formatter类151
6.6 小结152
习题6152
第7章 收集与数据结构应用154
7.1 收集的概念154
7.2 Collection接口155
7.3 Set156
7.3.1 Set的实现156
7.3.2 Set的数学应用157
7.4 List158
7.4.1 List的实现159
7.4.2 List的数据结构应用162
7.5 Queue163
7.5.1 Queue的实现163
7.5.2 Queue的数据结构应用164
7.6 Map165
7.6.1 Map的实现166
7.6.2 Map的数学应用168
7.7 SortedSet169
7.8 SortedMap171
7.9 Collections类173
7.9.1 静态方法173
7.9.2 包装器174
7.9.3 方便实现175
7.9.4 Collections类的数据结构应用175
7.10 抽象实现176
7.11 小结177
习题7177
第8章 小程序及多媒体应用178
8.1 小应用程序178
8.1.1 四个重要方法178
8.1.2 绘制方法181
8.1.3 事件处理方法181
8.1.4 加入java.awt的方法182
8.1.5 showStatus方法182
8.1.6 装入数据文件182
8.1.7 使浏览器显示文档183
8.1.8 查找同一页中运行的其他小程序183
8.1.9 小应用程序的其他事项183
8.2 2D图形184
8.2.1 Graphics类184
8.2.2 绘制基本图形187
8.3 字体与颜色191
8.3.1 字体191
8.3.2 颜色192
8.4 图像194
8.4.1 装载图像194
8.4.2 显示图像195
8.4.3 复制图像197
8.5 声音197
8.6 动画200
8.6.1 简单的多线程动画201
8.6.2 改进动画效果的方法202
8.6.3 增加控制组件204
8.6.4 较完善的动画程序204
8.7 小结207
习题8207
第9章 图形用户界面及桌面应用208
9.1 AWT208
9.1.1 GUI组件类208
9.1.2 布局管理器218
9.1.3 事件处理221
9.2 Swing225
9.2.1 Swing组件226
9.2.2 Swing并发性235
9.2.3 事件监听235
9.2.4 容器组件布局241
9.2.5 修改视感241
9.2.6 Swing数据传送机制242
9.2.7 拖和放243
9.2.8 剪切、复制、粘贴244
9.3 JavaFX244
9.3.1 JavaFX基础244
9.3.2 JavaFX的控件246
9.3.3 JavaFX的事件247
9.4 小结249
习题9249
第10章 JDBC与数据库应用251
10.1 数据库的相关概念251
10.1.1 基本概念251
10.1.2 SQL252
10.2 JDBC概述254
10.2.1 JDBC结构254
10.2.2 JDBC的常用接口和类255
10.3 JDBC访问数据库256
10.3.1 与数据库建立连接257
10.3.2 基本的数据访问258
10.3.3 元数据266
10.3.4 PreparedStatement270
10.4 连接274
10.5 事务275
10.5.1 自动提交方式276
10.5.2 事务隔离级别276
10.5.3 保存点278
10.6 存储过程278
10.6.1 创建CallableStatement对象279
10.6.2 设置参数279
10.6.3 存储过程的访问280
10.7 JDBC应用设计282
10.8 用Applet访问数据库282
10.9 小结285
习题10285
第11章 网络与Web服务应用286
11.1 Java对网络通信的支持286
11.2 URL应用287
11.2.1 URL地址格式287
11.2.2 创建URL对象288
11.2.3 URL类的方法289
11.2.4 读入URL资源290
11.2.5 连接URL291
11.2.6 写入URLConnection291
11.3 Socket应用292
11.3.1 Socket原理292
11.3.2 读写Socket293
11.3.3 读写ServerSocket293
11.3.4 Socket应用完整示例295
11.4 Datagram应用297
11.4.1 Datagram原理297
11.4.2 编写Datagram服务器298
11.4.3 编写Datagram客户端299
11.4.4 Datagram应用完整示例300
11.5 小结302
习题11302
第12章 JavaBeans及组件应用304
12.1 JavaBeans概念304
12.2 设计简单的bean304
12.2.1 创建bean304
12.2.2 使用bean305
12.3 属性306
12.3.1 简单属性306
12.3.2 索引属性307
12.3.3 关联属性307
12.3.4 约束属性307
12.4 事件308
12.5 持续308
12.6 自省310
12.7 BeanContext API311
12.8 在JSP中使用JavaBeans312
12.8.1 312
12.8.2 313
12.8.3 314
12.9 小结314
习题12315
附录316
参考文献318
內容試閱
Java是美国Sun公司于1995年5月推出的面向对象的通用编程语言,目前依然是世界上最优秀的计算机程序设计语言之一。本书主要讲授Java的技术基础及主要应用,作者根据多年的教学实践,采取深入浅出的方式描述Java的编程原理,并配上大量程序实例,给读者一定的引导,使其能尽快掌握Java的核心技术,并在自己感兴趣的领域继续深入 学习。
本书是《Java技术及应用》的第2版,对第1版内容做了如下改进。
(1)为了更适合教学,调整了第1版中部分章节的顺序;
(2)在第1版的原有章节中添加了一些内容作为补充,使得章节内容更为完整,便于读者学习理解;
(3)增加了lambda表达式、接口方法的默认实现以及JavaFX等Java 8新引入内容的介绍;
(4)根据Java 8技术的新特点对全书内容做了修正。
本书注重入门与提高,适合没有编程语言基础和面向对象编程基础的初学者。全书共分12章,分别介绍了Java的语言基础、面向对象结构、lambda表达式及其应用、常用实用类、增强性能类、输入输出流、收集与数据结构应用、小程序及多媒体应用、图形用户界面及桌面应用、JDBC与数据库应用、网络与Web服务应用、JavaBeans及组件应用等方面的内容,一些过于深入、初学者难以理解的内容则没有引入或只是简单介绍。
本书各章后面均设计有理论问答题,让读者领会本章内容的要点;另外还附有编程实践题,供读者上机实验使用。
本书所有的实例和源程序均在JDK 1.8和Eclipse 4.5中运行通过。书中所有实例的源程序及其电子教案可以在清华大学出版社网站上免费下载使用。
由于编者水平有限,书中难免有许多缺点,敬请读者指正。

编 者
2017年3月于广东工业大学


增强性能类
Java有很多类是用于提高性能的,如异常处理、并发和反射等,本章将介绍Java的这些增强性能类。
5.1异 常 处 理
Java语言采用异常(exception)来为其程序提供错误处理能力,异常是一个事件,当执行中的程序中断其正常的指令流时出现;Java代码能检测出错误,向运行系统指明是什么错误,抛出一个异常。通常,抛出的事件使线程终止,显示其错误信息。如果想自己处理异常,可以用一个catch语句捕获异常。
5.1.1异常
异常实际上是异常事件的简称,许多不同的错误可以引起异常。有硬件错误,如硬盘坏了;有编程错误,如试图访问越界数组元素。若这些错误出现在Java的方法中,该方法创建一个异常对象,对象中包含异常类型、错误出现时程序的状态等信息,交到运行系统,这叫抛出一个异常。
运行系统负责找出处理错误的方法,它往回搜索方法调用栈(call stack),直到找出一个合适的异常处理器,所谓合适,是指抛出的异常类型与异常处理器处理的类型相同。选择异常处理器称为捕获异常,若运行系统找不到合适的异常处理器,系统就终止运行。
用异常处理错误有三个优点。
(1)处理错误的代码与正常代码分开。
这样做既不会影响正常代码的逻辑结构,而且还可以知道哪一步出现错误,并分清楚出错后要做的事情。
(2)沿调用栈向上传送错误。
Java的方法可以避开它抛出的异常,由它上一层调用方法处理。只有关心错误的方法才检测错误,其他方法可以声明一个throws子句,把错误往上传。
(3)按错误类型和错误区别分组。
异常可以分类成组,例如,处理数组时的一些错误(下标超出数组范围,插入数组的元素类型不对,所搜索的元素不在数组中等)可以归为一组。Java的异常都是对象,异常分组是类与子类的自然结果。
异常必须是Throwable型,即是Throwable类与子类的实例。Throwable类在java.lang包中定义,其继承关系如图5-1所示。

图5-1 Throwable类的继承关系
从图5-1中可见,Throwable是Object的子类,它本身又有两个子类Error和Exception。
(1)Error是动态链接失败或虚拟机出现硬失效后出现的,由虚拟机抛出。普通的Java 程序不会抛出Error,也不需要捕获它。
(2)Exception表明出现了问题,但不是严重的系统问题。大多数程序都可以抛出和捕获它。Java包中定义了许多Exception的后继类,指明各种类型的异常。例如,IllegalAccessException表明不能访问某个方法;InstantiationException表明程序试图实例化一个抽象类或接口。
Exception可分为运行时刻异常(RuntimeException)和非运行时刻(Non-runtime)异常。
①RuntimeException是Exception的一个重要子类,代表运行时刻出现在Java 虚拟机的异常,包括算术异常(如被零除)、指针异常(如试图通过null引用访问对象)和下标异常(如用太大或太小的下标访问数组元素)等,表5-1列出了这类异常中常见的类型。
表5-1运行系统抛出的RuntimeException

运行系统抛出的RuntimeException
含义

ArithmeticException
除以零

NullPointerException
试图访问空对象的变量和方法

IncompatibleClassChangeException
类变化后将影响该类其他对象对方法和变量的引用,那些对象没有重编译

ClassCastException
不正确的类转换

NegativeArraySizeException
数组的长度为负数

OutOfMemoryException
执行new操作,但没有多余内存空间给该对象

NoClassDefFoundException
引用一个类,但系统找不到它

IncompatibleTypeException
试图实例化一个接口,可抛出

ArrayIndexOutOfBoundsException
试图引用数组中的非法元素,可抛出

UnsatisfiedLinkException
一个native方法在运行时不能链接,可抛出

InternalException
不可抛出,代表运行系统本身的问题


运行时刻异常在程序中到处可出现,数量很多,检查它们所花的代价超过了捕捉与声明带来的好处,因此编译器不要求捕捉或声明运行时刻异常(RuntimeException)。
②非运行时刻(Non-runtime)异常代表合法操作所调用方法必须知道的有用信息,例如磁盘满了、没有访问权限等,非运行时刻异常必须抛出或捕获。
5.1.2 捕获与声明的要求
Java语言要求各方法捕获或声明(declare)在方法的作用范围内可能抛出的所有非运行时刻(Non-runtime)异常。如果编译器检查到某个方法没有满足要求,它会显示出错信息,并拒绝编译程序。例如,源程序中有一句:

while System.in.read!=-1

用到了IO操作read,可能会出现IOException,如果程序中没有catch部分,就要在方法的声明部分用throws子句说明可以抛出它,如:

public static void mainString args[] throws java.io.IOException {
...
}

这样编译程序才认可,否则会出现下列出错信息:

warning: Exception java.io.IOException must be caught,or it must be declared in throws clause of this method.

为什么方法不捕获异常时就要声明会抛出异常? 因为方法抛出的任何异常实际上是该方法的公共编程接口的一部分,方法的调用者必须知道该方法抛出的异常,以便决定如何处理这些异常。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.