首页 > 编程语言 >2017 《Java 2实用教程(第5版)》是由耿祥义、张跃平编著

2017 《Java 2实用教程(第5版)》是由耿祥义、张跃平编著

时间:2023-12-28 10:48:05浏览次数:35  
标签:语句 实用教程 Java 耿祥义 运算符 线程 习题 小结

我的研究生同学 河南老乡 河南工业大学Jackso_hao 大学期间学习的Java教材     《Java 2实用教程(第5版)》是由耿祥义、张跃平编著,2017年清华大学出版社出版的高等学校Java课程系列教材、普通高等教育“十一五”国家级规划教材。该教材既可作为高等院校相关专业Java程序设计的教材,也可供自学者及软件开发人员参考。 [1] 全书共分15章,分别介绍了Java的基本数据类型,运算符、表达式和语句,类与对象,子类与继承,接口与实现,内部类与异常类,常用实用类,组件及事件处理,输入、输出流,JDBC与MySQL数据库,Java多线程机制,Java网络编程,图形、图像与音频,泛型与集合框架等内容。 [1]   全书共分15章,分别介绍了Java的基本数据类型,运算符、表达式和语句,类与对象,子类与继承,接口与实现,内部类与异常类,常用实用类,组件及事件处理,输入、输出流,JDBC与MySQL数据库,Java多线程机制,Java网络编程,图形、图像与音频,泛型与集合框架等内容。每章提供的二维码可观看相应章节的视频讲解。 [1] 第1章介绍Java语言的来历、地位和重要性,详细讲解了Java平台。第2章讲解基本数据类型。第3章介绍Java运算符和控制语句。 第4~7章是该教材的重点内容之一,讲述了类与对象、子类与继承、接口与多态、内部类与异常类等内容,对相关的知识点都结合例子给予了讲解,强调了面向抽象和接口的设计思想以及软件设计的开闭原则。 第8章讲述常用的实用类,包括字符串、日期、正则表达式、模式匹配以及数学计算等实用类,讲解了怎样使用StringTokenizer、Scanner、Pattern和Matcher类解析字符串。 第9章介绍了组件的有关知识,把对事件处理的讲解分散到具体的组件,只要真正理解掌握了一种组件事件的处理过程,就会掌握其他组件的事件处理。输入流、输出流是Java语言中的经典内容,尽管Java提供了二十多种流,但它们的用法、原理却很类似。 第10章在输入流、输出流的讲解上突出原理,讲解了利用对象流克隆对象的原理。 第11章结合例子讲解Java与数据库的连接过程,主要讲解Java怎样使用JDBC操作数据库,特别讲解了预处理、事务处理和批处理等重要技术。 第12章通过有针对性的例子使读者掌握多线程中的重要概念,并介绍怎样用多线程来解决实际问题。 第13章是关于网络编程的知识,针对套接字,进行了讲解。 第14章是有关图形、图像和音频的知识,结合已学知识给出了许多实用的例子。 第15章讲述了常用数据结构的Java实现,强调如何有效合理地使用各种数据结构。 [2]

教材目录

  播报 编辑
第1章Java入门 1.1Java的地位 1 1.1.1网络地位 2 1.1.2语言地位 2 1.1.3需求地位 2 1.2Java的特点 2 1.2.1简单 2 1.2.2面向对象 2 1.2.3平台无关 3 1.2.4多线程 4 1.2.5动态 4 1.3安装JDK 5 1.3.1平台简介 5 1.3.2安装Java SE平台 5 1.3.3系统环境的设置 7 1.4Java程序的开发步骤 8 1.5简单的Java应用程序 9 1.5.1源文件的编写与保存 9 1.5.2编译 10 1.5.3运行 11 1.6Java反编译 13 1.7编程风格 13 1.7.1Allmans风格 13 1.7.2Kernighan风格 14 1.7.3注释 14 1.8Java之父——James Gosling 15 1.9小结 15 习题1 15 第2章基本数据类型与数组 2.1标识符与关键字 17 2.1.1标识符 17 2.1.2Unicode字符集 17 2.1.3关键字 18 2.2基本数据类型 18 2.2.1逻辑类型 18 2.2.2整数类型 18 2.2.3字符类型 19 2.2.4浮点类型 20 2.3类型转换运算 21 2.4输入、输出数据 23 2.4.1输入基本型数据 23 2.4.2输出基本型数据 23 2.5数组 24 2.5.1声明数组 24 2.5.2为数组分配元素 25 2.5.3数组元素的使用 26 2.5.4length的使用 27 2.5.5数组的初始化 27 2.5.6数组的引用 27 2.6应用举例 29 2.7小结 30 习题2 30 第3章运算符、表达式和语句 3.1运算符与表达式 33 3.1.1算术运算符与算术表达式 33 3.1.2自增、自减运算符 33 3.1.3算术混合运算的精度 34 3.1.4关系运算符与关系表达式 34 3.1.5逻辑运算符与逻辑表达式 34 3.1.6赋值运算符与赋值表达式 35 3.1.7位运算符 35 3.1.8instanceof运算符 37 3.1.9运算符综述 37 3.2语句概述 38 3.3if条件分支语句 38 3.3.1if语句 38 3.3.2if-else语句 39 3.3.3if-else if-else语句 40 3.4switch开关语句 41 3.5循环语句 43 3.5.1for循环语句 43 3.5.2while循环语句 44 3.5.3do-while循环语句 44 3.6break和continue语句 45 3.7for语句与数组 46 3.8应用举例 47 3.9小结 47 习题3 48 第4章类与对象 4.1编程语言的几个发展阶段 50 4.1.1面向机器语言 50 4.1.2面向过程语言 50 4.1.3面向对象语言 51 4.2类 52 4.2.1类声明 52 4.2.2类体 53 4.2.3成员变量 53 4.2.4方法 55 4.2.5需要注意的问题 57 4.2.6类的UML图 57 4.3构造方法与对象的创建 57 4.3.1构造方法 58 4.3.2创建对象 59 4.3.3使用对象 62 4.3.4对象的引用和实体 63 4.4类与程序的基本结构 66 4.5参数传值 68 4.5.1传值机制 68 4.5.2基本数据类型参数的传值 68 4.5.3引用类型参数的传值 69 4.5.4可变参数 70 4.6对象的组合 71 4.6.1组合与复用 72 4.6.2类的关联关系和依赖关系的UML图 76 4.7实例成员与类成员 77 4.7.1实例变量和类变量的声明 77 4.7.2实例变量和类变量的区别 77 4.7.3实例方法和类方法的定义 79 4.7.4实例方法和类方法的区别 79 4.8方法重载 81 4.8.1方法重载的语法规则 81 4.8.2避免重载出现歧义 83 4.9this关键字 84 4.9.1在构造方法中使用this 84 4.9.2在实例方法中使用this 84 4.10包 86 4.10.1包语句 86 4.10.2有包名的类的存储目录 86 4.10.3运行有包名的主类 87 4.11import语句 88 4.11.1引入类库中的类 88 4.11.2引入自定义包中的类 90 4.12访问权限 91 4.12.1何谓访问权限 91 4.12.2私有变量和私有方法 92 4.12.3共有变量和共有方法 93 4.12.4友好变量和友好方法 93 4.12.5受保护的成员变量和方法 94 4.12.6public类与友好类 95 4.13基本类型的类封装 95 4.13.1Double和Float类 95 4.13.2Byte、Short、Integer、Long类 95 4.13.3Character类 95 4.14对象数组 96 4.15JRE扩展与jar文件 97 4.16文档生成器 98 4.17应用举例 99 4.18小结 105 习题4 105 第5章子类与继承 5.1子类与父类 112 5.1.1子类 112 5.1.2类的树形结构 113 5.2子类的继承性 113 5.2.1子类和父类在同一包中的继承性 113 5.2.2子类和父类不在同一包中的继承性 115 5.2.3继承关系(Generalization)的UML图 115 5.2.4protected的进一步说明 115 5.3子类与对象 115 5.3.1子类对象的特点 115 5.3.2关于instanceof运算符 117 5.4成员变量的隐藏和方法重写 117 5.4.1成员变量的隐藏 117 5.4.2方法重写 118 5.5super关键字 122 5.5.1用super操作被隐藏的成员变量和方法 122 5.5.2使用super调用父类的构造方法 124 5.6final关键字 125 5.6.1final类 125 5.6.2final方法 125 5.6.3常量 125 5.7对象的上转型对象 126 5.8继承与多态 128 5.9abstract类和abstract方法 129 5.10面向抽象编程 131 5.11开-闭原则 134 5.12应用举例 135 5.13小结 138 习题5 138 第6章接口与实现 6.1接口 145 6.2实现接口 146 6.3接口的UML图 148 6.4接口回调 149 6.5理解接口 150 6.6接口与多态 152 6.7接口参数 153 6.8abstract类与接口的比较 154 6.9面向接口编程 155 6.10应用举例 155 6.11小结 158 习题6 158 第7章内部类与异常类 7.1内部类 162 7.2匿名类 163 7.2.1和子类有关的匿名类 163 7.2.2和接口有关的匿名类 165 7.3异常类 166 7.3.1try-catch语句 167 7.3.2自定义异常类 168 7.4断言 169 7.5应用举例 171 7.6小结 172 习题7 172 第8章常用实用类 8.1String类 175 8.1.1构造String对象 175 8.1.2字符串的并置 177 8.1.3String类的常用方法 178 8.1.4字符串与基本数据的相互转化 182 8.1.5对象的字符串表示 183 8.1.6字符串与字符数组、字节数组 184 8.1.7正则表达式及字符串的替换与分解 186 8.2StringTokenizer类 191 8.3Scanner类 192 8.4StringBuffer类 194 8.4.1StringBuffer对象 194 8.4.2StringBuffer类的常用方法 195 8.5Date类与Calendar类 196 8.5.1Date类 197 8.5.2Calendar类 197 8.6日期的格式化 200 8.6.1format方法 200 8.6.2不同区域的星期格式 202 8.7Math类、BigInteger类和Random类 202 8.7.1Math类 202 8.7.2BigInteger类 203 8.7.3Random类 204 8.8数字格式化 206 8.8.1format方法 206 8.8.2格式化整数 207 8.8.3格式化浮点数 208 8.9Class类与Console类 209 8.9.1Class类 209 8.9.2Console类 211 8.10Pattern类与Matcher类 212 8.11应用举例 214 8.12小结 215 习题8 216 第9章组件及事件处理 9.1Java Swing概述 221 9.2窗口 222 9.2.1JFrame常用方法 222 9.2.2菜单条、菜单、菜单项 224 9.3常用组件与布局 225 9.3.1常用组件 225 9.3.2常用容器 227 9.3.3常用布局 228 9.4处理事件 233 9.4.1事件处理模式 233 9.4.2ActionEvent事件 234 9.4.3ItemEvent事件 238 9.4.4DocumentEvent事件 241 9.4.5MouseEvent事件 244 9.4.6焦点事件 249 9.4.7键盘事件 249 9.4.8窗口事件 252 9.4.9匿名类实例或窗口做监视器 253 9.4.10事件总结 256 9.5使用MVC结构 256 9.6对话框 259 9.6.1消息对话框 259 9.6.2输入对话框 260 9.6.3确认对话框 262 9.6.4颜色对话框 264 9.6.5自定义对话框 265 9.7树组件与表格组件 266 9.7.1树组件 266 9.7.2表格组件 269 9.8按钮绑定到键盘 271 9.9打印组件 273 9.10发布GUI程序 275 9.11应用举例 276 9.12小结 279 习题9 279 第10章输入、输出流 10.1File类 281 10.1.1文件的属性 282 10.1.2目录 283 10.1.3文件的创建与删除 284 10.1.4运行可执行文件 284 10.2文件字节输入流 285 10.3文件字节输出流 287 10.4文件字符输入、输出流 289 10.5缓冲流 290 10.6随机流 292 10.7数组流 295 10.8数据流 297 10.9对象流 299 10.10序列化与对象克隆 301 10.11使用Scanner解析文件 303 10.12文件对话框 306 10.13带进度条的输入流 308 10.14文件锁 309 10.15应用举例 311 10.16小结 318 习题10 319 第11章JDBC与MySQL数据库 11.1MySQL数据库管理系统 322 11.2启动MySQL数据库服务器 323 11.3MySQL客户端管理工具 325 11.4JDBC 327 11.5连接数据库 328 11.6查询操作 330 11.6.1顺序查询 332 11.6.2控制游标 333 11.6.3条件与排序查询 335 11.7更新、添加与删除操作 337 11.8使用预处理语句 338 11.8.1预处理语句的优点 338 11.8.2使用通配符 339 11.9通用查询 340 11.10事务 343 11.10.1事务及处理 343 11.10.2JDBC事务处理步骤 343 11.11连接SQL Server数据库 345 11.12连接Derby数据库 346 11.13应用举例 348 11.13.1设计思路 348 11.13.2具体设计 349 11.13.3用户程序 356 11.14小结 357 习题11 358 第12章Java多线程机制 12.1进程与线程 359 12.1.1操作系统与进程 359 12.1.2进程与线程 359 12.2Java中的线程 360 12.2.1Java的多线程机制 360 12.2.2主线程(main线程) 360 12.2.3线程的状态与生命周期 361 12.2.4线程调度与优先级 364 12.3Thread类与线程的创建 365 12.3.1使用Thread的子类 365 12.3.2使用Thread类 365 12.3.3目标对象与线程的关系 367 12.3.4关于run方法启动的次数 369 12.4线程的常用方法 369 12.5线程同步 373 12.6协调同步的线程 375 12.7线程联合 377 12.8GUI线程 378 12.9计时器线程 382 12.10守护线程 384 12.11应用举例 385 12.12小结 388 习题12 389 第13章Java网络编程 13.1URL类 396 13.1.1URL的构造方法 396 13.1.2读取URL中的资源 397 13.2InetAddress类 398 13.2.1地址的表示 398 13.2.2获取地址 398 13.3套接字 399 13.3.1套接字概述 399 13.3.2客户端套接字 400 13.3.3ServerSocket对象与服务器端套接字 400 13.3.4使用多线程技术 403 13.4UDP数据报 407 13.4.1发送数据包 407 13.4.2接收数据包 408 13.5广播数据报 411 13.6Java远程调用 414 13.6.1远程对象及其代理 414 13.6.2RMI的设计细节 415 13.7应用举例 418 13.8小结 423 习题13 424 第14章图形、图像与音频 14.1绘制基本图形 425 14.2变换图形 427 14.3图形的布尔运算 429 14.4绘制钟表 430 14.5绘制图像 433 14.6播放音频 434 14.7应用举例 437 14.8小结 439 习题14 439 第15章泛型与集合框架 15.1泛型 441 15.1.1泛型类声明 441 15.1.2使用泛型类声明对象 442 15.2链表 444 15.2.1LinkedList<E>泛型类 444 15.2.2常用方法 445 15.2.3遍历链表 445 15.2.4排序与查找 447 15.2.5洗牌与旋转 449 15.3堆栈 450 15.4散列映射 451 15.4.1HashMap<K,V>泛型类 451 15.4.2常用方法 452 15.4.3遍历散列映射 452 15.4.4基于散列映射的查询 452 15.5树集 454 15.5.1TreeSet<E>泛型类 454 15.5.2结点的大小关系 454 15.5.3TreeSet类的常用方法 455 15.6树映射 456 15.7自动装箱与拆箱 458 15.8应用举例 459 15.9小结 463 习题15 464
(注:目录排版顺序为从左列至右列 [5]

教学资源

  播报 编辑
  • 配套教材
该教材有配套习题和实验指导教材——《Java 2实用教程(第5版)实验指导与习题解答》。 [1]
书名 书号 出版社 出版时间 作者
《Java 2实用教程(第5版)实验指导与习题解答》 9787302466871 清华大学出版社 2017.05.01 张跃平、耿祥义 [6]
  • 课程资源
该教材提供PPT、Word教案、源码、视频、教学大纲、教案、试卷、习题答案。 [3]

教材特色

  播报 编辑 该教材注重可读性和实用性,配备了例题和习题。该教材采用JDK1.8(JDK8)。该教材针对较难理解的问题,都是从简单到复杂,逐步深入地引入例子,便于读者掌握Java面向对象编程思想。 [1] 该教材是《Java2实用教程》的第5版,继续保留原教材的特点——注重教材的可读性和实用性,许多例题都经过考虑,既能帮助理解知识,又具有启发性。 [2]

作者简介

  播报 编辑 耿祥义,1995年中国科学技术大学博士毕业,获理学博士学位。1997年从中山大学博士后流动站出站,大连交通大学教授。有教授Java语言的经验。 [3]

标签:语句,实用教程,Java,耿祥义,运算符,线程,习题,小结
From: https://www.cnblogs.com/wangprince2017/p/17932197.html

相关文章

  • java的启动脚本
    java的启动脚本:run_java.sh脚本内容: -设置工作目录-设置必要的环境变量-设置JVM运行参数-运行程序创建运行脚本:使用run_java.sh来运行java程序1.修改run_.sh2.转成UNIX风格3.上传至Linux 4.添加+x权限,运行脚本 ......
  • 无涯教程-Java泛型 - 映射(Map)
    Java在Map接口中提供了泛型支持。GenericMap-语法Map<T>map=newHashMap<T>();map-Map接口的对象。T   -集合声明期间传递的泛型类型参数。T是传递给泛型接口Map及其实现类HashMap的类型参数。packagecom.learnfk;importjava.util.HashMap;importj......
  • java进行数据库操作的并发控制的2种方法
    本文分享自华为云社区《java进行数据库操作的并发控制》,作者:张俭。在现代应用编码中,从数据库里面find出来,进行一些业务逻辑操作,最后再save回去。即:Personperson=personRepo.findById(id);person.setAge(18);personRepo.save(person);但是这样的业务操作,如果一个线程修改......
  • java8 新特性(二)CompletableFuture类
    CompletableFuture是Java8中引入的一个新特性,它表示异步计算的结果。通过使用CompletableFuture,可以方便地处理异步计算,并能够在计算完成后执行回调函数。CompletableFuture是Java8中引入的一个功能强大的类,它实现了Future接口,并在此基础上进行了丰富的扩展,以简化异步编程的复......
  • 无涯教程-Java泛型 - 有界类型
    有时您可能想限制参数的类型,如对数字进行操作的方法可能只希望接受Number或其子类的,这就是有界类型参数的用途,使用extends实现。这个示例是泛型方法,返回三个Comparable对象中的最大对象-publicclassMaximumTest{//确定三个Comparable对象中最大的一个publics......
  • Java定义变量容易出错的点
    在Java中,定义的数值有默认的类型(整型为int、浮点型为double),所以在定义变量的时候要注意类型的问题。例如:因为给l的值(10000000000)默认类型是int类型,所以超出了范围;修改:在给的值后面加上L,......
  • Java基础2
    1.抽象类在Java中,抽象类(AbstractClass)是一种特殊类型的类,它不能被实例化,而是用于被其他类继承。抽象类可以包含抽象方法和具体方法。以下是关于抽象类的一些关键点:定义抽象类:使用abstract关键字定义抽象类。不能实例化抽象类,即不能使用new关键字创建抽象类的......
  • 无涯教程-Java泛型 - 原始类型
    如果原始类型的类型参数在创建过程中未传递,则原始类型是通用类或接口的对象。以下示例将展示上述概念。packagecom.learnfk;publicclassGenericsTester{publicstaticvoidmain(String[]args){Box<Integer>box=newBox<Integer>();box.set......
  • 运行Java程序
    Java及环境变量:安装openjdk-8-jre-headlessls/usr/bin/java默认放在/usr/bin下,不需要额外设置PATH 提示:如果放在自定义位置,需要设置PATHexport PATH=$PATH:/opt/jdk8/bin运行Java程序:1.在Windows上开发和调试2.发布......
  • Java登陆第三十天——Cookie和Session
    会话会话就是客户端与服务器的一次交互。HTTP是一种无状态协议无状态:服务端不会记录客户端信息。有的时候,我们需要保存客户端的信息。对于登陆功能来说,保存客户端信息,可以避免客户端每访问都需要登陆一次至此,会话管理诞生。CookieCookie是一种客户端会话技术,并保存在......