首页 > 图书中心 >图书详情

Java JDK 8学习笔记

■ 分享作者学习Java心得■ 涵盖OCP/JP(原SCJP)考试范围■ Lambda、新时间日期等Java SE 8新功能介绍■ JDK基础与IDE操作交相对应■ 提供Lab文档与操作教学视频

作者:林信良
定价:68
印次:1-6
ISBN:9787302388982
出版日期:2015.03.01
印刷日期:2017.08.23

● 本书是作者多年来教学实践经验的总结,汇集了学员在学习课程或认证考试中遇到的概念、操作、应用等问题及解决方案 ● 针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新 ● 详细介绍了JVM、JRE、Java SE API、JDK与IDE之间的对照关系 ● 从Java SE API的源代码分析,了解各种语法在Java SE API中的具体应用 ● 提供练习的Lab操作文档,方便读者掌握练习重点 ● 将IDE操作纳入教学内容使读者能与实践结合,提供视频教学能更清楚地帮助读者掌握操作步骤

more >

序 你拿起了这本书,翻开这篇序,我有了机会问你一个问题:“为什么想翻开这本书?” “当然是想学Java啊!笨蛋(作者)!” 翻开一本书,无非是想从书中得到知识,只是为何你要得到书中的知识,才是我想知道的答案,而这个答案决定了你在取得知识的过程中是否快乐! 多数人在取得知识的过程中并不快乐,因而只能幻想着取得知识之后,就能拥有快乐,我们的社会也不断塑造着这样的幻想……学会××之后就可以“找到工作”“年薪百万”“进外企”……不少人在完成买书或报名课程的那一瞬间,就彷佛看到童话故事结尾幸福又快乐的日子,甚至取得知识时花费越高,就越成为一种支持这自我满足的依据。 取得知识的过程中快乐很重要,可惜的是,多数教育并不将取得知识过程中是否快乐这件事摆在优先,甚至强调为了能拥有幸福又快乐的结局,你必须忍耐学习过程中种种不快乐的事情,有的人可能从没了解到取得知识的过程中也能够快乐这件事,也许你也早就忘了…… “不就是学个Java,跟快乐有什么关系!” 如果你学的过程中不快乐,很快地,你就会对学习的对象感到厌烦,无法体验到逐步成长的喜悦,享受不到解决问题的成就感,失去探索更高级知识的动力,就算勉为其难地完成了学习过程,开始用着似懂非懂、半生不熟的知识闯荡江湖,紧接而来的是害怕着你当初不懂现在也不想搞懂的知识,也畏惧着别人带进来的新知识,只要有你参与的东西,多半掺杂了一团浆糊,造成了伙伴的困扰也伤害了自己,幸福与快乐的日子永远不会到来,你在学习的过程也没有过快乐,真的是亏大了! 只是想着学习的过程中是否快乐,结局难道不重要吗?网络上对程序设计这块有句名言“程序是照你写的跑,不是照你想的跑”,事实上确实是如此,不过“就人生来说的话,不会照你想的跑,也不会照你规划的进行”,万一结局不是我所想象的,至少学习过程我乐在其中,以后有没有用那就再说了! “就人生来说的话,不会照你想的跑,也不会照你规划的进行。”简而言之就是世事难料,现在当红的技术难保日后不会没落,想当预言家,幻想能够选对一项知识,在苦痛学习过程之后得到美满结局,这是很没有保障的,现在冷门的知识也有可能咸鱼翻身,到时是不是感觉赚很大是一回事,不过届时你也许只会想着“其实我当时只是觉得好玩”! 林信良 2015年1月 导 读 这份导读让你可以更了解如何使用本书。 新旧版差异 就目录上来说,你可以看出的差异是上一版为16个章节,新一版为18个章节,第12章Lambda无疑是新的章节,也是JDK8最重要的新增功能。第13章“时间与日期”,一开始先谈了对时间与日期应有的基本知识,然后将旧版中的Date与Calendar做了更详细介绍,因为有许多现存API仍在使用它们,紧接着该章介绍了JDK8新时间与日期API。 第14章“NIO与NIO2”一开始谈了NIO的基础,接着将旧版的NIO2也放进该章。第15章“通用API”为旧版本“通用API”,该章删除了Date与Calendar、NIO2,并将一些JDK8的新增功能放了进去。 当然,JDK8中还有不少新增的小功能,散落在各章节中适当的地方介绍,如果发现页侧有 图标,表示提及JDK8新功能,本书亦提供有JDK8新功能快速查询目录。 全书的程序代码都做了重新审视与修改,主要着重在增加可读性,每个方法片段尽量控制不超过15行,在9.1.6节简介过Lambda之后,在可能且有助于可读性的情况下,会使用Lambda相关语法或API来实作程序范例。 旧版中有个“窗口程序设计”章节,在新版中没有消失,只不过被移至附录B,这多半表示了Java在窗口程序这块的地位,当然,Java有JavaFX这项技术,能否扩展Java在窗口程序的市场仍有待观察。“窗口程序设计”章节移至附录,主要是保留给对窗口程序仍有兴趣的读者。 字型 本书正文中与程序代码相关的文字,都用固定字体来加以呈现,以与一般名词相区别。例如,JDK是一般名词,而String为程序代码相关文字,使用了固定字体以区分。 程序范例 你可以在以下网址下载本书的范例: ? http://www.tupwk.com.cn/downpage ? http://books.gotop.com.tw/download/Acl042200 本书许多的范例都使用完整程序操作来展现,当看到以下程序代码示范时: ClassObject Guess.java package cc.openhome; import java.util.Scanner; import static java.lang.System.out; public class Guess { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int number = (int) (Math.random() * 10); int guess; do { System.out.print("猜数字(0 ~ 9):"); guess = scanner.nextInt(); } while(guess != number); out.println("猜中了...XD"); } } 范例开始的左边名称为ClassObject,表示可以在范例文件的samples文件夹的各章节文件夹中找到对应的ClassObject项目;而右边名称为Guess.java,表示可以在项目中找到Guess.java文件。如果程序代码中出现标号与提示文字,表示后续的正文中,会有对应于标号及提示的更详细说明。 原则上,建议每个项目范例都亲手动作撰写,但如果由于教学时间或操作时间上的考虑,本书有建议进行的练习。如果在范例开始前有个 图标,例如: Game1 SwordsMan.java package cc.openhome; public class SwordsMan extends Role { public void fight() { System.out.println("挥剑攻击"); } } 表示建议范例动手操作,而且在范例文件的labs文件夹中会有练习项目的基础,可以打开项目后,完成项目中遗漏或必须补齐的程序代码或设定。 如果使用以下的程序代码呈现,表示它是一个完整的程序内容,但不是项目的一部分,主要用来展现一个完整文档如何撰写: public class Hello { public static void main(String[] args) { System.out.println("Hello!World!"); } } 如果使用以下的程序代码,则表示它是个代码段,主要展现程序撰写时需要特别注意的片段: SwordsMan swordsMan = new SwordsMan(); ... System.out.printf("剑士 (%s, %d, %d)%n", swordsMan.getName(), swordsMan.getLevel(), swordsMan.getBlood()); Magician magician = new Magician(); ... System.out.printf("魔法师 (%s, %d, %d)%n", magician.getName(), magician.getLevel(), magician.getBlood()); 操作步骤 本书将IDE进行设定的相关操作步骤也作为练习的一部分,你会看到如下的操作步骤说明: (1) 选择“文件”|“新建项目”命令,在弹出的“新建项目”对话框的“类别”列表中选择Java,在“项目”列表中选择“Java应用程序”,接着单击“下一步”按钮。 (2) 在“项目名称”文本框中输入项目名称Hello2,在“项目位置”文本框中输入C:\workspace。注意,“项目文件夹”会储存至C:\workspace\Hello2。 (3) 在“创建主类”文本框中输入cc.openhome.Main,这表示会有个Main类放在cc.openhome包,当中会自动建立main()程序进入点的方法,接着单击“完成”按钮建立项目。 如果操作步骤旁有个 图标,表示范例文件的videos文件夹中对应的章节文件夹有操作步骤的视频,可观看它以更了解实际操作过程。 提示框 在本书中会出现以下提示框: 针对课程中所提到的观点,提供一些额外的资源或思考方向,暂时忽略这些提示对课程进行并没有影响,但有时间的话,针对这些提示做阅读、思考或讨论是有帮助的。 针对课程中所提到的观点,以提示框方式特别呈现出必须注意的一些使用方式、陷阱或避开问题的方法,看到这个提示框时请集中精神阅读。 附录 范例文件包括本书中所有范例,提供NetBeans范例项目,附录A说明如何使用这些范例项目,附录B则收录了上一版的“窗口程序设计”一章的内容。 联系作者 若有本书堪误反馈等相关书籍问题,可通过网站与作者联系。网址如下: http://openhome.cc

more >
扫描二维码
下载APP了解更多
图书分类全部图书
more >
  • 林信良(网名:良葛格)

    学历:台湾大学电机工程学系

    经历:台湾升阳教育训练技术顾问、专业讲师,Oracle授权训练中心讲师

    著作:《Java JDK 5.0学习笔记》《Java SE 6技术手册》《Java JDK 6.0学习笔记》《JSP & Servlet学习笔记》《Spring技术手册》《Java JDK 7学习笔记》等

    译作:《Ajax实战手册》《jQuery实战手册(2)

  • ■ 分享作者学习Java心得

    ■ 涵盖OCP/JP(SCJP)考试范围

    Lambda、新时间日期等Java SE 8新功能介绍

    JDK基础与IDE操作交相对应

    ■ 提供Lab文档与操作教学视频

more >
  • 目    录

     

    Chapter 1  Java平台概论 1

    1.1 Java不只是语言 2

    1.1.1 前世今生 2

    1.1.2 三大平台 5

    1.1.3 JCP与JSR 6

    1.1.4 Oracle JDK与OpenJDK 7

    1.1.5 建议的学习路径 9

    1.2 JVM/JRE/JDK 12

    1.2.1 什么是JVM 13

    1.2.2 区分JRE与JDK 15

    1.2.3 下载、安装JDK 16

    1.2.4 认识JDK安装内容 19

    1.3 重点复习 20

    1.4 课后练习 21

    Chapter 2  从JDK到IDE 22

    2.1 从Hello World开始 23

    2.1.1 撰写Java原始码 23

    2.1.2 PATH是什么 25

    2.1.3 JVM(java)与

    CLASSPATH 28

    2.1.4 编译程序(javac)与

    CLASSPATH 31

    2.2 管理原始码与位码文档 33

    2.2.1 编译程序(javac)与SOURCEPATH 33

    2.2.2 使用package管理类 35

    2.2.3 使用import偷懒 37

    2.3 使用IDE 39

    2.3.1 IDE项目管理基础 40

    2.3.2 使用了哪个JRE 44

    2.3.3 类文档版本 45

    2.4 重点复习 48

    2.5 课后练习 49

    Chapter 3  基础语法 53

    3.1 类型、变量与运算符 54

    3.1.1 类型 54

    3.1.2 变量 57

    3.1.3 运算符 60

    3.1.4 类型转换 66

    3....

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘