新書推薦:
《
治盗之道:清代盗律的古今之辨
》
售價:HK$
122.1
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:HK$
210.6
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:HK$
300.2
《
欲望与家庭小说
》
售價:HK$
98.6
《
惜华年(全两册)
》
售價:HK$
70.3
《
甲骨文丛书·古代中国的军事文化
》
售價:HK$
99.7
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:HK$
244.2
《
半导体纳米器件:物理、技术和应用
》
售價:HK$
177.0
|
編輯推薦: |
①、JDK 9导入的新知识,必然强烈冲击到高校的Java语言课程的知识体系的构成以及教学,也将会对学生的就业产生深刻的影响;
②、本教材适应了目前Java技术的发展趋势与高校教学的需求。
③、作者初步调查,各大出版社出版的Java教材完整地涉及上述JDK新增内容的图书还未曾见到。如下为2019年各大出版社出版的Java教材:
① Java语言程序设计(第二版),清华大学出版社;
② Java面向对象程序设计项目教程,清华大学出版社;
③ Java程序设计(慕课版),人民邮电出版社;
④ Java程序设计案例教程,机械工业出版社;
⑤ Java语言程序设计,高等教育出版社;
上述教材的内容均未涉及到JDK 8及后续版本的新增内容。
|
內容簡介: |
本书基于JDK 9编写。本书除介绍Java语言的基本语法和面向对象程序设计等内容外,还介绍枚举、自动装箱与注解、函数式编程等JDK新导入的内容,以及如何用NetBeans IDE开发Java Application、Java FX应用程序等。书中每一章都有大量的实例以及课后习题,且对重点实例阐述了编程思想并归纳了必要的结论和概念,后给出基于Java FX的综合应用案例。 本书具有系统性、知识性、实用性等特点,可以作为高等院校计算机及相关专业本科生的教材,也可作为专业技术人员的参考用书。 本书的电子教案及程序实例源代码等配套教学资源,可以从清华大学出版社网站免费下载。
|
關於作者: |
宋波,教授,沈阳师范大学软件学院,教师。1999年3月毕业于(日本)国立福冈教育大学研究生院教育技术专业,主要研究方向:软件工程、Java技术、人工智能、教育信息智能化,硕士生导师。
|
目錄:
|
第1篇核心基础篇
第1章Java语言概述3
1.1Java语言的发展简史3
1.2Java 2 SDK版本4
1.3Java程序的运行机制5
1.3.1高级语言程序的运行机制5
1.3.2Java程序运行机制与JVM6
1.4Java程序的运行环境8
1.4.1安装JDK8
1.4.2设置Java程序运行环境11
1.5开发Java Application13
1.5.1Java API概述13
1.5.2Java Application的编译与运行13
1.6JDK提供的开发工具14
1.7小结16
课后习题16第2章Java语言基础知识17
2.1注释17
2.2标识符与关键字20
2.2.1分隔符20
2.2.2标识符20
2.2.3关键字21
2.3基本数据类型21
2.3.1整数类型22Java程序设计——基于JDK 9和NetBeans实现目录2.3.2浮点数类型22
2.3.3字符类型22
2.3.4布尔类型23
2.4常量与变量23
2.4.1整型常量23
2.4.2浮点型常量25
2.4.3字符型常量26
2.4.4布尔型常量27
2.5基本数据类型的相互转换27
2.5.1自动转换27
2.5.2强制转换28
2.6运算符28
2.6.1算术运算符29
2.6.2比较运算符30
2.6.3逻辑运算符31
2.6.4位运算符32
2.6.5赋值运算符34
2.6.6三元运算符35
2.7运算符的优先级与结合性36
2.8流程控制37
2.8.1分支结构37
2.8.2循环结构39
2.8.3控制循环结构42
2.9小结45
课后习题45第3章Java语言面向对象特性49
3.1类与对象49
3.1.1类与对象的定义49
3.1.2成员变量与局部变量50
3.1.3成员方法53
3.1.4对象的创建55
3.1.5对象的使用56
3.1.6对象的销毁57
3.1.7方法重载58
3.1.8关键字this59
3.1.9构造方法61
3.2封装与数据隐藏63
3.2.1封装63
3.2.2访问控制64
3.2.3package与import67
3.3类的继承与多态70
3.3.1类的继承70
3.3.2方法的重写74
3.3.3运行时多态75
3.3.4对象类型的强制转换77
3.3.5Object类80
3.4数组82
3.4.1一维数组82
3.4.2多维数组85
3.4.3数组的复制87
3.5小结89
课后习题89第4章Java语言面向对象高级特性91
4.1基本数据类型包装类91
4.2处理对象96
4.2.1打印对象与toString()方法96
4.2.2“==”与equals()方法97
4.3static修饰符99
4.3.1类变量与实例变量99
4.3.2类方法与实例方法100
4.3.3静态初始化程序101
4.3.4静态导入102
4.4final修饰符103
4.5抽象类105
4.5.1抽象类的定义105
4.5.2抽象类的作用107
4.6接口110
4.6.1接口的定义110
4.6.2接口的实现111
4.6.3多重继承112
4.6.4接口与抽象类114
4.6.5接口的新特性116
4.7内部类120
4.7.1内部类的定义120
4.7.2内部类的使用121
4.7.3内部类的特性121
4.8枚举类128
4.8.1枚举类的定义128
4.8.2实现接口的枚举类132
4.8.3包含抽象方法的枚举类134
4.9小结135
课后习题135第5章Java语言异常处理145
5.1概述145
5.2异常处理机制147
5.2.1捕获并处理异常148
5.2.2将方法中产生的异常抛出151
5.3自定义异常类154
5.3.1必要性与原则154
5.3.2定义与使用155
5.4Java的异常跟踪栈158
5.5小结160
课后习题160第6章Java语言执行环境类163
6.1Java常用类163
6.1.1Math类163
6.1.2Random类165
6.1.3BigDecimal类167
6.1.4String类169
6.1.5StringBuffer类171
6.2日期类174
6.2.1Calendar类174
6.2.2TimeZone类176
6.3正则表达式178
6.4Java国际化183
6.5小结189
课后习题189第7章Java语言泛型编程197
7.1概述197
7.2使用泛型199
7.2.1定义泛型类、接口199
7.2.2从泛型类派生子类202
7.3类型通配符205
7.4泛型方法208
7.5擦除与转换209
7.6泛型与数组212
7.7小结212
课后习题213第8章Java集合类219
8.1概述219
8.2Collection接口与Iterator接口220
8.3Set接口227
8.3.1HashSet类228
8.3.2TreeSet类229
8.3.3EnumSet类232
8.4List接口235
8.4.1List接口与ListIterator接口235
8.4.2ArrayList类与Vector类240
8.5Queue接口245
8.5.1LinkedList实现类246
8.5.2PriorityQueue实现类247
8.6Map接口250
8.6.1HashMap与HashTable实现类251
8.6.2SortedMap接口与TreeMap实现类256
8.6.3WeakHashMap实现类259
8.6.4IdentityHashMap实现类260
8.6.5EnumMap实现类261
8.7Enumeration接口263
8.8小结264
课后习题264第9章Java语言I/O267
9.1Java I/O流267
9.1.1流的概念267
9.1.2字节流268
9.1.3字符流269
9.1.4I/O流的套接271
9.1.5常用的I/O流272
9.2File类282
9.2.1创建File对象282
9.2.2操作File对象282
9.3RandomAccessFile类285
9.3.1创建RandomAccessFile对象285
9.3.2操作RandomAccessFile对象286
9.4对象序列化287
9.4.1基本概念287
9.4.2对象序列化的方法288
9.4.3构造可序列化对象的类288
9.5小结292
课后习题292第10章Java语言多线程编程301
10.1概述301
10.2创建线程303
10.2.1继承Thread类创建线程304
10.2.2实现Runnable接口创建线程305
10.3线程的优先级307
10.4线程的基本控制309
10.4.1让步309
10.4.2休眠310
10.4.3连接方法311
10.5线程间的同步313
10.6线程间的通信316
10.7小结318
课后习题319第11章类型封装器、自动装箱与注解321
11.1类型封装器321
11.1.1Character封装器321
11.1.2Boolean封装器321
11.1.3数值类型封装器322
11.2自动装箱323
11.2.1自动装箱与方法323
11.2.2表达式中发生的自动装箱/拆箱324
11.2.3布尔类型和字符类型数值的自动装箱/拆箱326
11.3注解326
11.3.1基础知识326
11.3.2定义保留策略327
11.4小结328
课后习题328第12章Lambda表达式331
12.1Lambda表达式简介331
12.2Lambda表达式的简化形式333
12.3作为参数使用Lambda表达式336
12.4访问变量336
12.5小结340
课后习题340第13章Java语言网络编程341
13.1网络相关知识341
13.2基于URL的通信343
13.2.1URL的基本概念343
13.2.2创建URL对象343
13.2.3解析URL344
13.2.4读取URL内容344
13.2.5基于URLConnection的读写345
13.2.6InetAddress类347
13.3Socket通信机制347
13.3.1概述348
13.3.2基于TCP的通信348
13.3.3基于UDP的通信350
13.4小结353
课后习题354
第2篇应用技术篇
第14章Java Shell操作基础359
14.1Java Shell概述359
14.1.1什么是JShell359
14.1.2为什么引入JShell360
14.1.3JShell的启动与退出361
14.2Java Shell主要命令362
14.2.1显示命令列表及说明363
14.2.2打印工具简介365
14.2.3操作代码片段命令365
14.2.4查看变量命令370
14.2.5查看导包命令372
14.2.6重用JShell会话375
14.2.7重置JShell状态377
14.3Java Shell代码片段378
14.3.1声明变量378
14.3.2表达式与语句379
14.3.3方法的声明及使用380
14.3.4类的声明及使用381
14.4小结383第15章基于NetBeans开发Java Application385
15.1概述385
15.2下载和安装NetBeans386
15.3NetBeans IDE简介389
15.3.1NetBeans菜单栏390
15.3.2NetBeans工具栏391
15.3.3NetBeans窗口392
15.3.4代码编辑器397
15.4用NetBeans IDE开发Java Application399
15.5小结402
课后习题402第16章JavaFX GUI程序设计403
16.1JavaFX的基本概念403
16.2JavaFX程序框架405
16.3JavaFX控件Label407
16.4JavaFX控件Button408
16.5其他3个JavaFX控件411
16.6Image和ImageView控件419
16.7TreeView控件420
16.8JavaFX菜单424
16.9效果与变换430
16.10Java FX综合案例434
16.11小结437
课程设计——一个简单的Web浏览器的实现437参考文献442
|
內容試閱:
|
高级语言程序设计是计算机类专业重要的基础课程,它包括程序设计方法与程序设计语言这两个相辅相成的内容。20世纪80年代以来,程序设计的主流就已经从结构化程序设计转向面向对象程序设计,“面向对象”已经成为软件开发人员必须掌握的一种基本技术。Java语言具有简单、可移植、稳定与安全、多线程等许多优良特性,是基于Internet应用开发的编程语言。学习和掌握Java语言已经成为计算机专业学生的迫切需要之一。本书对如何介绍Java语言的内容做了科学的教学设计,在内容编排上力争体现新的教学思想和方法。书中内容的编写遵循“从简单到复杂”“从抽象到具体”的原则,将OOP思想通过层层拓展的方式展现给读者。本书通过在各个章节中穿插介绍Java语言的常用类库和方法以及大量完整的例子,阐述Java语言编程的基本步骤和方法,对重点实例还详细介绍了编程思路并归纳总结了必要的概念和结论,以做到深入浅出、由简到繁、循序渐进。程序设计课既是一门理论课,又是一门实践课。学生除了在课堂上学习程序设计的原理与方法,掌握编程语言的语法知识和编程技能外,还要进行大量的课外练习和实际操作,才能熟练掌握所学知识。为此,书中每一章都编排了课后习题,并根据本书的知识体系介绍了两个综合案例,安排了一个课程设计作为综合实践的一种形式,以帮助读者在动手实践中获得宝贵的实践经验和应用能力。
本书共有16章,分为核心基础篇与应用技术篇。
核心基础篇包括1~13章,系统介绍Java语言的基本机制与语法。第1章介绍Java技术的起源与发展、Java程序的运行机制、JDK的安装与设置、Java程序结构以及JDK开发工具。第2章介绍Java语言的基本语法成分,包括标识符、数据类型、表达式、语句、流程控制等。第3章介绍Java语言中类和对象的概念与定义方式,重点介绍Java语言对OOP的3个主要特性(封装、继承、多态)的支持机制,后介绍数组。第4章进一步介绍Java语言面向对象的高级特性,包括基本数据类型包装类、static修饰符和final修饰符、抽象类、接口和内部类。第5章介绍Java语言的异常处理机制,包括异常的概念、如何进行异常处理以及自定义异常的实现方法。第6章介绍Java语言编程中的常用类,包括Math、Random、String、日期类、正则表达式以及Java国际化。第7章介绍Java泛型以及在编程中的应用。第8章介绍Collection API所提供的集合与映射这两个集合工具类的用法。第9章介绍Java I/O流、文件的随机读写、文件管理以及对象序列化。第10章介绍Java语言中多线程的概念,以及线程的并发控制、线程同步等技术。第11章介绍JDK 9中新增加的自动装箱与注解。第12章介绍JDK 9中新增加的Lambda表达式的相关内容。第13章介绍有关网络通信的基础知识以及Java对网络通信的支持,重点介绍基于URL的Internet资源访问技术,以及基于底层Socket的有连接和无连接的网络通信方法。
应用技术篇包括第14~16章,介绍Java语言在实际应用开发中的常用技术,主要讨论如何在NetBeans IDE下开发Java Application。第14章介绍Java Shell操作基础。第15章介绍NetBeans IDE的下载、安装、基本结构,以及如何用NetBeans IDE开发Java Application。第16章介绍Java FX程序设计以及一个综合应用案例。
本书由宋波担任主编,宋波、毕婧、李晋负责全书的编写工作。宋波负责全书的总体策划,并终完成书稿的修订、完善、统稿和定稿工作。本书从选题到立意,从酝酿到完稿,自始至终得到学校、院系领导和同行教师的关心与指导。沈阳师范大学软件学院院长、辽宁省本科教学名师、全国大学生计算机设计大赛评审专家、全国高校创业指导师、GCDF全球职业规划师王学颖教授承担了本书的审校工作,对本书初稿在教学过程中存在的问题提出了宝贵的建议。上海交通大学生物医学制造与生命质量研究所所长、国家工业自动化系统与集成标准化技术委员会工业机器人分技术委员会委员、博士生导师曹其新教授为本书的出版撰写了序言。本书也吸纳和借鉴了中外参考文献中的原理知识和资料,在此一并致谢。由于笔者教学、科研任务繁重且水平有限,加之时间紧迫,书中难免存在错误和不妥之处,诚挚地欢迎读者批评指正。
宋波2022年3月
|
|