Java 开发从入门到精通(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-07 15:29:17

点击下载

作者:扶松柏 王洋 陈小玉

出版社:人民邮电出版社有限公司

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Java 开发从入门到精通(第2版)

Java 开发从入门到精通(第2版)试读:

前言

你从开始学习编程的那一刻起,就注定了以后所要走的路:从编程学习者开始,依次经历实习生、程序员、软件工程师、架构师、CTO等职位的磨砺。当你站在职位顶峰的位置蓦然回首时,会发现自己的成功并不是偶然,在程序员的成长之路上会有不断修改代码、寻找并解决Bug、不停地测试程序和修改项目的经历。不可否认的是,只要你在自己的开发生涯中稳扎稳打,并且善于总结和学习,最终将会得到可喜的收获。选择一本合适的书

对于一名想从事程序开发的初学者来说,究竟如何学习才能提高自己的开发技术呢?一个答案就是买一本合适的程序开发图书进行学习。但是,市面上许多面向初学者的编程图书都侧重基础知识的讲解,更偏向于理论,读者读了以后在面对实战项目时还是无从下手。如何从理论平滑过渡到项目实战,是初学者的痛点,为此,作者特意编写了本书。

本书涵盖了入门类、范例类和项目实战类3类图书的内容。另外,对实战知识不是点到为止地讲解,而是深入地探讨。用纸质书+配套资源+网络答疑的方式,完美实现了入门+范例练习+项目实战,帮助读者顺利适应项目实战的角色。本书特色● 以“从入门到精通”的写作方法构建内容,让读者轻松入门。

为了使读者能够完全看懂本书的内容,本书遵循“从入门到精通”基础类图书的写法,循序渐进地讲解Java语言的基本知识。● 破解语言难点,以“技术解惑”贯穿全书,绕过学习中的陷阱。

本书不会罗列式讲解Java语言的知识点,为了帮助读者学懂基本知识点,每章都会有“技术解惑”板块,让读者知其然又知其所以然,也就是看得明白,学得通。● 全书有大量实例和范例,与“实例大全”类图书拥有同数量级的

范例。

通过大量实例及范例,本书不仅实现了对知识点的横向切入和纵向比较,还从不同的角度展现一个知识点的用法,真正实现了举一反三的效果。● 配套资源包含视频讲解,降低了学习难度。

书中每一章均提供语音教学视频,这些视频能够引导初学者快速入门,增强学习的信心,从而快速理解所学知识。● 提供源程序+视频+PPT,让学习更轻松。

因为本书篇幅有限,不可能用一本书囊括“基础+范例+项目案例”的诸多内容,所以需要配套的资源来实现。本书的配套资源中不但有全书的源代码,而且有精心制作的实例讲解视频。本书的配套资源可以在toppr网站下载。● 通过QQ群和网站论坛实现教学互动,形成互帮互学的朋友圈。

为了方便给读者答疑,本书作者特提供了网站论坛、QQ群(943546773)等技术支持,并且随时在线与读者互动。让大家在互学互帮中形成一个良好的学习编程的氛围。

本书的学习论坛参见toppr网站。本书内容

本书由浅入深地详细讲解了Java的开发技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。本书共25章。第1~2章讲解了计算机基础和Java开发入门,以及如何编写第一段Java程序;第3~9章讲解了Java语法、条件语句、循环语句、数组、面向对象等知识,这些内容都是Java开发技术的核心知识;第10~14章讲解了集合、类库、泛型、异常处理、I/O文件处理的基本知识,这些内容是Java开发技术的重点和难点;第15~21章讨论桌面开发技术,包括AWT技术、Swing技术和JavaFX技术的基本知识;第22~25章是典型应用内容,讲解了数据库编程、网络与通信编程、多线程和案例。书中以“技术讲解”“范例演练”“技术解惑”贯穿全书,引领读者全面掌握Java语言的开发技术。各章的模块

本书最大的特色是实现了入门知识、实例演示、范例演练、技术解惑四大部分内容的融合。其中各章内容由如下模块构成。● 入门知识:循序渐进地讲解了Java语言开发的基本知识点。● 实例演示:遵循理论加实践的学习模式,用大量实例演示了各个

入门知识点的用法。● 范例演练:为了达到对知识点融会贯通、举一反三的效果,为每

个正文实例配备了两个演练范例,书中配套的大量范例从多个角

度演示了各个知识点的用法和技巧。● 技术解惑:把读者容易混淆的部分单独用一个模块进行讲解和剖

析,对读者所学的知识实现了“拔高”处理。本书读者对象● 初学编程的自学者● 编程爱好者● 大中专院校的教师和学生● 相关培训机构的教师和学员● 毕业设计的学生● 初级和中级程序开发人员● 软件测试人员● 实习中的初级程序员● 在职程序员致谢

十分感谢我的家人给予我的巨大支持。本人水平毕竟有限,书中难免存在纰漏之处,恳请读者提出意见或建议,以便修订并使之更臻完善。编辑联系邮箱是zhangtao@ptpress.com.cn。

最后感谢读者购买本书,希望本书能成为读者编程路上的好帮手。作者资源与支持

本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。配套资源

本书配套资源包括书中示例的源代码。

要获得以上配套资源,请在异步社区本书页面中单击,跳转到下载界面,按提示进行操作即可。注意,为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。

如果您是教师,希望获得教学配套资源,请在社区本书页面中直接联系本书的责任编辑。提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”,输入勘误信息,单击“提交”按钮即可(见下图)。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。关于异步社区和异步图书“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。异步社区微信服务号第1章 计算机基础和Java开发入门

Java是一门神奇的编程语言,一直雄居各编程语言排行榜的榜首,用它开发的软件遍布各行各业。为什么Java语言如此受开发者追捧呢?它究竟有什么突出的优势,使之能够从众多的编程语言中脱颖而出?本章将一步步引领读者了解Java这门编程语言的强大之处。1.1 计算机基础知识点讲解:

计算机(Computer)是一种能按照某些预定的程序(这些程序往往体现的是人类的意志)对输入到其中的信息进行处理,并将处理结果输出的高度自动化的电子设备。本节将介绍计算机应用的基础知识,为读者步入本书后面知识的学习打下基础。1.1.1 中央处理器

中央处理器(Central Processing Unit,CPU)是一块超大规模的集成电路,通常是一台计算机的运算核心和控制核心,主要包括算术和逻辑单元(Arithmetic and Logic Unit,ALU)和控制器(Control Unit,CU)两大部件。此外,还包括若干个寄存器和存储器,以及用于实现它们之间联系的数据、控制及状态总线。CPU与内部存储器和输入/输出设备合称为电子计算机三大核心部件,其功能主要是执行计算机指令以及处理计算机软件中的数据。计算机的性能在很大程度上由CPU的性能决定,而CPU的性能主要体现在其运行速度上。1.1.2 比特和字节1.比特

比特音译自英文名词bit。在现实应用中,比特是表示信息量的一种单位。二进制数中的位表示信息量的度量单位,为信息量的最小单位。二进制数中的一位所包含的信息就是1比特,如二进制数0100就是4比特。在计算机应用中,二进制数0和1是构成信息的最小单位,被称作“位”或“比特”。例如数字化音响中用电脉冲表达音频信号,“1”代表有脉冲,“0”代表脉冲间隔。如果波形上每个点的信息用4位一组的代码表示,则称4比特,比特数越大,表达的模拟信号就越精确,对音频信号的还原能力就越强。2.字节

字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,有时也表示一些计算机编程语言中的数据类型和语言字符。

在计算机应用中,由若干比特组成1字节。字节由多少比特组成取决于计算机的自身结构。通常来说,微型计算机的CPU多用8位组成1字节,用以表示一个字符的代码,构成1字节的8位被看作一个整体,字节是存储信息的基本单位。大多数情况下,计算机存储单位的换算关系如下所示。

1B=8bit

1KB=1024B

1MB=1024KB

1GB=1024MB

上述关系中各个单位的具体说明如下所示。● B表示字节。● bit表示比特。● KB表示千字节。● MB表示兆字节。● GB表示吉字节。1.1.3 二进制

二进制是计算技术中被广泛采用的一种数制,是使用0和1两个数码来表示数字的数制。二进制的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼茨发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一种非常微小的开关,用“开”表示1,用“关”表示0。因为只使用0、1两个数字符号,所以二进制非常简单方便,易于用电子方式实现。

下面介绍如何从十进制转换成二进制。● 正整数转换成二进制:转换原则是除以2取余,然后倒序排列,

高位补零。也就是说,将正的十进制数除以2,将得到的商再除

以2,依次类推,直到商为0或1时为止,然后在旁边标出各步的

余数,最后倒着写出来,高位补零即可。例如,为了将十进制数

字42转换为二进制,将42除以2,根据余数得到010101,然后将

得到的余数倒着排一下,就会得到数字42对应二进制数是

101010。但是因为计算机内部用于表示数的字节单位是定长

的,如8位、16位或32位,所以当位数不够时,需要在高位补零。

前面将42转换成二进制数时得到的结果是6位的101010,在前面

缺少两位,所以将十进制42转换成二进制的最终结果是

00101010。● 负整数转换成二进制:转换原则是先将对应的正整数转换成二进

制,对二进制取反,然后对结果加1。以十进制负整数−42为

例,将42的二进制形式(00101010)取反,得到的结果是

11010101,然后再加1,结果是11010110。● 二进制整数转换成十进制:转换原则是先将二进制数字补齐位

数,首位如果是0,就代表正整数;首位如果是1,则代表负整m

数。先看首位是0的正整数,补齐位数以后,获取“n×2”的计

算结果,其中上标“m”表示二进制数字的位数,“n”表示二进m

制的某个位数。将二进制中的各个位数分别实现“n×2”计

算,然后将计算结果相加,得到的值就为十进制。比如,将二进

制1010转换为十进制的过程如下所示:

二进制                       1   0   1    0

补齐位数       0    0    0   0   1   0   1    0m7 6 5 43 2 

进行“n×2”计算  0×20×20×20×2 1×20×21×1 020×2

计算结果       0    0    0   0   8   0   2    0

将各位求和的结果是10。所以,将二进制1010转换为十进制的结果是10。

如果要转换的二进制数补足位数后首位为1,表示这个二进制数是负整数。此时就需要先进行取反,再进行换算。例如,二进制数11101011的首位为1,那么先取反,得到−00010100,然后按照上面的计算过程得出10100对应的十进制数为20,所以二进制数11101011对应的十进制数为−20。1.1.4 编码格式1.ASCII格式

美国信息交换标准代码(American Standard Code for Information Interchange,ASCII)是基于拉丁字母的一套计算机编码系统,主要用于显示现代英语和其他西欧语言。ASCII是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

一个英文字母(不分大小写)占1字节的空间,一个中文汉字占2字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制后,最小值为0,最大值为255。例如,一个ASCII码就是1字节。2.Unicode格式

Unicode(又称统一码、万国码或单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限性而产生的,它为每种语言中的每个字符设定统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

最初的Unicode编码采用固定长度的16位,也就是2字节代表一个字符,这样一共可以表示65 536个字符。显然,要表示各种语言中所有的字符,这是远远不够的。Unicode 4.0规范考虑到了这种情况,定义了一组附加字符编码,附加字符编码采用两个16位来表示,这样最多可以定义1 048 576个附加字符,在Unicode 4.0规范中只定义了45 960个附加字符,在Unicode 5.0版本中已定义的字符有238 605个。

Unicode只是一种编码规范,目前实际实现的Unicode编码只有3种——UTF-8、UCS-2和UTF-16。这3种Unicode字符集之间可以按照规范进行转换。3.UTF-8格式

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8由Ken Thompson于1992年创建,现在已经标准化为RFC 3629。UTF-8用1~6字节编码Unicode字符,用在网页上,可以统一页面显示的中文简体及其他语言(如英文、日文、韩文)。一个UTF-8英文字符等于1字节。一个UTF-8中文(含繁体)字符,少数占用3字节,多数占用4字节。一个UTF-8数字占用1字节。1.2 初识Java知识点讲解:

纵观各大主流招聘媒体,总是会看到多条招聘Java程序员的广告。由此可以看出,Java程序员很受市场欢迎。本节将带领大家初步认识一下Java这门语言,为读者随后步入本书后面知识的学习打下基础。1.2.1 何谓Java

我们通常所说的Java,指的是Sun公司在1995年5月推出的一套编程架构,它主要由Java程序设计语言(以后简称Java语言)和Java运行时环境两部分组成。用Java实现的HotJava浏览器(支持Java Applet)向我们展示了Java语言的魅力——跨平台、动态Web开发及Internet计算。当时,人们通过HotJava浏览器上运行的Java Applet程序,看到了Java是一门具有跨平台能力的程序设计语言,因而在动态Web开发及Internet计算领域有着巨大的潜力。从那以后,Java便被广大程序员和企业用户广泛接受,成为最受欢迎的编程语言之一。

当然,Java程序需要在Java平台的支持下运行,Java平台则主要由Java虚拟机(Java Virtual Machine,JVM)和Java应用编程接口(Application Programming Interface,API)构成。我们需要在自己的设备上安装Java平台之后,才能运行Java应用程序。关于这一点,读者倒是不必太担心,如今所有操作系统都有相应版本的Java平台,我们只需要按照相关的指示安装好它们,然后我们的Java程序只需要编译一次,可以在各种操作系统中运行了。

Java分为如下3个体系。● JavaSE:Java2 Platform Standard Edition的缩写,即Java平台标

准版,涵盖Java语言的大多数功能,本书将以JavaSE平台进行

讲解。● JavaEE:Java 2 Platform Enterprise Edition的缩写,即Java平台

企业版,主要用于开发企业级程序。● JavaME:Java 2 Platform Micro Edition的缩写,即Java平台微型

版,主要用于开发移动设备端的程序。1.2.2 Java的特点● 语法简单:Java语言的语法与C/C++语言十分接近,这样大多数

程序员可以很容易地学习和使用Java。另外,Java还丢弃了C+

+中很少使用的、很难理解的那些特性,例如操作符重载、多继

承、自动强制类型转换等,并且令广大学习者高兴的是Java不再

使用指针,学习者再也不用为指针发愁了。除此之外,Java还为

我们提供了垃圾回收机制,使得程序员不必再为内存管理而担

忧。● 支持面向对象:Java语言支持类、接口和继承等特性,并且为简

单起见,Java只支持类之间的单继承和接口之间的多继承,并且

也支持类与接口之间的实现机制。总之,Java是一门纯粹面向对

象的程序设计语言。● 支持分布式开发:Java语言支持Internet应用开发,在基本的

Java应用编程接口中有一个网络应用编程接口(java.net),这个

接口提供了用于网络应用编程的类库,包括URL、

URLConnection、Socket、ServerSocket等。Java的远程方法激

活(RMI)机制也是开发分布式应用的重要手段。● 健壮性:Java的强类型、异常处理、垃圾回收等机制保证了Java

程序的健壮性。另外,Java的安全检查机制对保证Java程序的健

壮性也有相当大的作用。● 安全性:由于程序员通常需要在网络环境中使用Java语言,因此

Java必须为我们提供一套安全机制以防止程序被恶意代码攻击。

Java语言除了具有许多安全特性以外,还为从网络下载应用提供

了安全防范机制(ClassLoader类),例如,通过分配不同的名称

空间可以防止本地类被外来的同名类意外替代。另外,Java的字

节代码检查和安全管理机制(SecurityManager类)在Java应用

程序中也起到“安全哨兵”的作用。● 可移植性:相同的程序能够在不同的开发环境与应用环境中使

用,不论使用的是微软的产品还是其他提供商的产品。当然,由

于Java的运行环境是用ANSI C实现的,这赋予了Java系统很强

的可移植性,使Java程序可以在多种平台上运行。● 解释型语言:Java程序的代码会在Java平台上被编译为字节码格

式,这样Java程序就可以在安装了Java平台的任何系统中运行。

在运行时,Java平台中的Java解释器对这些字节码进行解释,执

行过程中需要的类会在连接阶段载入到运行环境中。● 支持多线程:当程序需要同时处理多项任务时,就需要用到多线

程并行开发。如果一个程序在同一时间只能做一件事情,那它的

功能也太过于简单了,肯定无法满足现实需求。在实际应用中,

多线程条件下的并行开发是必不可少的,可以让我们在同一时间

做多件事情,甚至开启多个线程,同时做一件事情,以提高效率。

无论是C/C++语言,还是其他程序设计语言,线程都是一个十分

重要的概念。● 高性能:与那些解释型的高级脚本语言相比,Java的确称得上高

性能。近年来,随着JIT(Just-In-Time)编译器技术的发展,

Java的运行速度事实上已经越来越接近于C++了。● 动态:Java语言的设计目标之一是适应动态变化的环境。Java程

序中的类需要能够动态地载入到运行环境中,也可以通过网络来

载入所需要的类。动态语言有利于软件升级。1.2.3 Java的地位“TIOBE编程语言社区排行榜”是众多编程语言爱好者心目中的权威榜单。TIOBE榜单每月更新一次,上面的排名客观公正地展示了各门编程语言的地位。TIOBE排行榜的排名基于互联网上有经验的程序员、课程和第三方厂商的数量,TIOBE编程语言社区排行榜使用著名的搜索引擎(诸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)进行计算。都说“长江后浪推前浪,一浪更比一浪强”,但是在编程榜单上,Java和C语言的二人转已经表演多年,程序员也早已习惯C语言和Java的二人转局面。截至2018年9月,Java语言和C语言依然是最大的赢家。表1-1显示了最近两年榜单上前两名编程语言的排名信息。表1-1 2017~2018年编程语言使用率统计2018年排名2017年排名语言2018年占有率(%)和2017年相比(%)11Java17.4364.7522C15.4478.06

由表1-1的统计数据可以看出,最近两年Java语言一直位居榜首。虽然TIOBE编程语言社区排行榜只反映某编程语言的热门程度,并不能说明一门编程语言本身设计的优劣,或者使用一门编程语言编写的代码量的多少,但是这个排行榜可以考查大家的编程技能是否与时俱进,也可以在开发新系统时作为语言选择依据。Java的功能比较强大,在服务器端应用、移动设备端应用、桌面应用和Web应用的开发中都占据重要的地位,所以占据排行榜榜首是非常正常的。

在现实应用中,Java语言主要应用于如下领域。● 服务器端应用:Java在服务器端编程方面的表现很出色,拥有很

多其他语言所没有的优势。● 移动端应用:Java在手机等移动设备上的应用比较广泛,如手机、

平板电脑上的Java游戏随处可见,当前异常火爆的Android系统

也支持Java。● 桌面应用:Java和C++、.NET一样重要,影响着桌面程序的发展。● Web应用:Java在Web应用的开发上有着巨大的优势,而且Java

的大多数开发工具和开发框架都是开源的,具有更强的安全性。1.3 技术解惑

Java语言开发技术博大精深。正是因为如此,Java一直深受广大程序员的喜爱。作为一名初学者,肯定会在学习过程中遇到很多疑问和困惑。在本节的内容中,作者将自己的心得体会告诉大家,帮助读者解惑。1.3.1 对初学者的建议(1)学得要深入,基础要扎实。

基础的作用不必多说,在大学课堂上讲过很多次,在此重点说明“深入”。职场不是学校,企业要求你能高效地完成项目,但是现实中的项目种类繁多,我们需要从基础上掌握Java技术的精髓。走马观花式的学习已经被社会淘汰,入门水平不会被IT公司接受,他们需要的是高手。(2)恒心,演练,举一反三。

学习编程的过程是枯燥的,我们需要将学习Java当成自己的乐趣,只有做到持之以恒才能有机会学好。另外,编程最注重实践,最忌讳闭门造车。每一个语法,每一个知识点,都要反复用实例来演练,这样才能加深对知识的理解。要做到举一反三,只有这样才能对知识有深入的理解。1.3.2 理解Java的垃圾回收机制

对于很多具有C语言基础的读者来说,在Java的众多突出特性之中,垃圾回收机制是首先要习惯的一个,因为在他们之前的习惯中,动态分配的对象所占的内存会在程序结束运行之前一直被占用,在明确释放之前不能分配给其他对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便被垃圾回收机制视为垃圾,后者是JVM中的一个系统级线程,它会自动释放这样的内存块,垃圾被回收意味着程序不再需要的对象是“无用信息”,这些信息将被丢弃。当一个对象不再被引用时,JVM就会回收它占用的内存,以便该内存能被后来的新对象使用。事实上,除了释放没用的对象之外,垃圾回收机制也会清除内存中的碎片。这些碎片是由于创建对象以及垃圾回收机制释放对象占用的内存空间造成的,碎片是分配给对象的内存块之间的空闲内存洞。执行碎片整理会将占用的堆内存移到堆的一端,JVM则将整理出的内存分配给新的对象。

垃圾回收机制能自动释放内存空间,这样做可以减轻编程人员的负担,赋予Java虚拟机一些优点。它能提高编程效率。在没有垃圾回收机制的时候,可能要花许多时间来解决让人费解的存储器问题。在用Java语言编程时,靠垃圾回收机制可大大缩短时间。另外,它能保护程序的完整性,垃圾回收是Java语言安全性策略的一个重要部分。

垃圾回收的一个潜在缺点是,它的开销会影响程序性能。Java虚拟机必须追踪所运行程序中有用的对象,而且最终释放没用的对象。这个过程需要占用处理器。另外,垃圾回收机制在算法上的不完备性,也会使得早先采用的某些垃圾回收不能保证100%回收所有的废弃内存。当然,随着垃圾回收算法的不断改进以及软硬件运行效率的不断提升,这些问题都终将得到解决。1.3.3 充分利用Java API文档

Java API文档是Java官方为广大程序员提供的一份福利,里面详细介绍了类、方法和变量的解释说明。如果开发人员对正在使用的类不熟悉,想查看类里面定义的变量或方法,就可以打开Java API文档进行阅读和查看。Oracle官网上的在线Java API文档如图1-1所示。图1-1 在线Java API文档1.4 课后练习(1)二进制数00101110转换成十进制数的结果是______________。(2)二进制数00101110转换成十六进制数的结果是______________。(3)在网络中寻找在线的进制转换工具,练习将不同的数字转换成不同的进制。第2章 第一段Java程序

经过对本书第1章内容的学习,相信大家已经了解了Java语言的基本特点。从本章内容开始,我们将和大家一起来学习Java语言的基本知识。当然,在学习具体语法知识之前,我们会首先介绍一下如何搭建Java开发环境。然后,我们会通过一段实例程序来介绍Java的运作机制,为后面的学习打下良好的基础。2.1 搭建Java开发环境知识点讲解:“工欲善其事,必先利其器”,这一说法也同样适用于编程领域,因为学习Java开发也离不开一款好的开发工具。但是在使用开发工具进行Java开发之前,我们需要先安装好JDK,并对其进行相关设置。2.1.1 安装JDK

如前所述,在进行任何Java开发之前,我们都必须先安装好JDK,并配置好相关的环境,这样我们才能开始在自己的计算机中编译并运行Java程序。显然,JDK(Java Development Kit)是我们整个Java开发环境的核心,它包括Java运行环境(JRE)、Java工具和Java基础类库,这是开发和运行Java程序的基础。所以,接下来我们首先要获得与自己当前所用操作系统对应的JDK,具体操作如下。(1)虽然Java语言是Sun公司发明的,但是Sun公司已经被Oracle收购,所以我们安装JDK的工作得从Oracle中文官方网站上找到相关的下载页面开始。Oracle官方下载页面如图2-1所示。图2-1 Oracle官方下载页面(2)在该页面上单击“JavaSE”链接,弹出Java下载界面,如图2-2所示。图2-2 Java下载界面(3)单击图2-2中的“Java SE”链接,弹出Java SE下载界面,如图2-3所示。图2-3 Java SE下载界面(4)继续单击“Oracle JDK”下方的“DOWNLOAD”按钮,弹出JDK下载界面,如图2-4所示。图2-4 JDK下载界面(5)在图2-4中,你会看到有很多版本的JDK,这时读者就需要根据自己当前所用的操作系统来下载相应的版本了。下面我们对各版本对应的操作系统做具体说明。● Linux:基于64位Linux系统,官网目前分别提供了bin.tar.gz和

bin.rpm两个版本的下载包。● Mac OS:苹果操作系统。● Windows x64:基于x86架构的64位Windows系统。● Solaris SPARC:Oracle官方自己的服务器系统。注意:随着官方对Java 11的更新,官方可能会对上述不同系统分别推出32位版本和64位版本,读者可以随时关注官网的变化。例如下面的情况。● Linux x86:基于x86架构的32位Linux系统。● Windows x86:基于x86架构的32位Windows系统。

在这里,因为作者计算机中的操作系统是64位的Windows系统,所以在选中图2-4中的“Accept License Agreement”单选按钮后,单击的是“Windows”后面的“jdk-11_windows- x64_bin.exe”下载链接。如果下载的版本和自己的操作系统不对应,后续在安装JDK时就会面临失败。(6)待下载完毕后,就可以双击下载的“.exe”文件,开始进行安装了,将弹出安装向导,单击“下一步”按钮,如图2-5所示。图2-5 安装向导(7)安装程序将会弹出“定制安装”对话框,可以选择JDK的安装路径,作者设置的是“C:\Program Files\Java\jdk-11\”,如图2-6所示。图2-6 “定制安装”对话框(8)设置好安装路径后,我们继续单击“下一步”按钮,安装程序就会提取安装文件并进行安装,如图2-7所示。图2-7 解压缩下载的文件(9)安装程序在完成上述过程后会弹出“完成”对话框,单击“关闭”按钮即可完成整个安装过程,如图2-8所示。图2-8 完成安装(10)检测一下JDK是否真的安装成功了,具体做法是依次单击“开始”︱“运行”,在“运行”对话框中输入“cmd”并按Enter键,在打开的CMD窗口中输入java–version。如果显示图2-9所示的提示信息,则说明安装成功。图2-9 验证JDK安装成功2.1.2 配置开发环境——Windows 7

如果在CMD窗口中输入java –version命令后提示出错,则表明我们的Java JDK并没有完全安装成功。这时候读者不用紧张,只需要将JDK所在目录的绝对路径添加到系统变量PATH中即可解决。下面介绍该解决办法的流程。(1)右击“我的电脑”,选择“属性”︱“高级系统设置”,单击下面的“环境变量”,在下面的“系统变量”处选择“新建”,在“变量名”处输入JAVA_HOME,在“变量值”处输入刚才的目录,比如作者使用的“C:\Program Files\Java\jdk-11\”,如图2-10所示。图2-10 设置系统变量(2)新建一个变量,名为CLASSPATH,变量值如下所示,注意最前面分别有英文格式的一个句点和一个分号。.;%JAVA_HOME%/lib;%JAVA_HOME%\lib\tools.jar

单击“确定”按钮,找到PATH变量,双击或单击进行编辑,在变量值的最前面添加如下值。%JAVA_HOME%/bin;

具体如图2-11所示。图2-11 编辑系统变量2.1.3 配置开发环境——Windows 10

如果读者使用的是Windows 10系统,在设置系统变量PATH时,操作会和上面的步骤有所区别。因为在Windows 10系统中选中PATH变量并单击“编辑”按钮后,会弹出与之前Windows系统不同的“编辑环境变量”对话框,如图2-12所示。我们需要单击右侧的“新建”按钮,然后才能添加JDK所在目录的绝对路径,而不能用前面步骤中使用的“%JAVA_ HOME%”,此处需要分别添加Java JDK的绝对路径,例如作者的安装目录是“C:\Program Files\Java\jdk-11\”,所以需要分别添加如下两个变量值。C:\Program Files\Java\jdk-11\bin

注意,在图2-12所示的界面中,一定要确保“C:\Program Files\Java\jdk-11\bin”选项在“C:\Program Files (x86)\Common Files\Oracle\Java\javapath”选项的前面(上面),否则会出错。图2-12 为Windows 10的系统变量PATH添加变量值

完成上述操作后,我们可以依次单击“开始”︱“运行”,在“运行”对话框中输入“cmd”并按Enter车键,然后在打开的CMD窗口中输入java–version,读者应该会看到图2-13所示的提示信息,输入javac会显示图2-14所示的提示信息,这就说明Java JDK安装成功了。图2-13 输入java–version图2-14 输入javac2.2 编写第一段Java程序知识点讲解:

在完成Java开发环境的安装和配置之后,我们就要开始编写一段Java程序了。然后,我们还要编译这段Java程序并让它运行起来。下面就正式开始我们的Java编程之旅吧!2.2.1 第一段Java代码

现在,让我们打开记事本程序,并在其中输入下面的代码。(源码路径:daima\2\first.java)public class first{ /*这是一个 main方法*/ public static void main(String [] args){ /* 输出此消息 */ System.out.println("第一段Java程序!"); }}

然后将该文件保存为first.java。请注意,文件名“first.java”中的字符“first”一定要和代码行“public class first”中的字符“first”一致,并且字母大小写也必须完全一致,否则后面的编译步骤将会失败,如图2-15所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载