购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章
Java开发入门

本章内容分为三部分。第一部分主要介绍Java编程语言的由来、发展和版本信息等。第二部分详细说明Java开发环境的安装和配置。开发Java程序前,必须安装Java开发环境,就像写Doc文档前要安装WPS或MS Office软件一样。开发Java程序需要安装JDK(Java Development Kit,Java开发工具包)。在安装JDK的同时,自带安装一个JRE(Java Runtime Environment,Java运行环境)。JRE也可以理解成我们经常说的JVM(Java Virtual Machine,Java虚拟机)。JRE/JVM就是Java程序运行的地方。第三部分带领读者体验Java编码、编译和运行的过程。该部分带领读者开发第一个Java源程序,并通过javac命令将Java源程序编译成可执行的字节码文件,了解Java程序的开发。在初学阶段,读者编写Java源程序时,可以使用记事本或者EditPlus、UltraEdit等高级记事本工具。

1.1 Java简介

Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(Java之父)在20世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,结果市场没什么反响。互联网的崛起让Oak重新焕发了生机,于是SUN公司改造了Oak,在1995年以Java(Oak已经被人注册了,因此SUN注册了Java这个商标)的名称正式发布。随着互联网的高速发展,Java逐渐成为重要的网络编程语言。

Java介于编译型语言和解释型语言之间。编译型语言(如C、C++)直接编译成机器码执行,但是不同平台(x86、ARM等)的CPU指令集不同,因此需要编译出每一种平台的对应机器码。解释型语言(如Python、Ruby)没有这个问题,可以由解释器直接加载源码然后运行,代价是运行效率太低。Java将代码编译成一种“字节码”,类似于抽象的CPU指令,然后针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言的。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。

随着Java的发展,SUN给Java分出了3个不同版本:

● Java SE:Standard Edition。

● Java EE:Enterprise Edition。

● Java ME:Micro Edition。

简单来说,Java SE就是标准版,包含标准的JVM和标准库;Java EE是企业版,在Java SE的基础上添加了大量的API和库,以便开发Web应用、数据库、消息服务等;Java EE使用的虚拟机和Java SE完全相同。

Java ME和Java SE不同,它是一个针对嵌入式设备的“瘦身版”,Java SE的标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版”。

毫无疑问,Java SE是整个Java平台的核心,而Java EE是进一步学习Web应用所必需的。我们熟悉的Spring等框架都是Java EE开源生态系统的一部分。不幸的是,Java ME从来没有真正流行起来,反而是Android开发发展成为移动平台的标准之一。因此,没有特殊需求,不建议学习Java ME。

我们推荐的Java学习路线如下:

● 首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用。

● 如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的。

● 如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,它们都基于Java或Scala开发的。

● 如果想要学习移动开发,就要深入学习Android平台,掌握Android App开发。

无论怎么选择,Java SE的核心技术是基础。

1.2 Java基础开发环境搭建

要用Java进行开发,就需要准备开发、编译、运行各个阶段需要的软件或工具。Java开发所需要的工具集合包含在JDK中,所以要先到网上下载JDK的安装程序。不同的操作系统对应不同的版本,具体下载、安装、配置的过程会在下面具体介绍。

1.2.1 JDK下载

JDK可到官网下载,下载页面如图1-1所示。

选择同意选项,并根据自己的操作系统选择不同的版本,如图1-2所示。

图1-1

图1-2

1.2.2 安装JDK

下面演示如何在Windows操作系统上安装JDK。双击如图1-3所示的安装程序,选择安装目录(见图1-4),设置开发工具为JDK。选择安装“源代码”,可以方便在开发时查看源代码。公共JRE即独立的JVM运行环境。其实,在开发工具内部也包含一个公共JRE。

安装成功的界面如图1-5所示,直接关闭即可。

图1-3

图1-4

图1-5

1.2.3 配置环境变量

配置环境变量主要是为了让命令行程序可以自动识别javac.exe可执行程序。javac.exe是编译Java源文件的命令,通常叫javac编译命令。它位于JDK安装目录下的/bin目录下,如C:\Program Files\Java\JDK1.8_xx\bin。为了让javac编译命令可运行,需要配置以下两个环境变量:

● JAVA_HOME=C:\Program Files\Java\JDK1.8_xx;,即配置JAVA_HOME为JDK的安装目录。

● PATH=%JAVA_HOME%\bin;,即配置PATH为JDK安装目录下的bin目录。

配置环境变量:右击“我的电脑”,选择“属性”菜单,在弹出的窗口中选择“高级系统设置”项,再在弹出的对话框中单击“环境变量”按钮,弹出如图1-6所示的对话框,添加JAVA_HOME环境变量。

图1-6

接着添加PATH环境变量,如图1-7所示。

图1-7

注意:

(1)建议配置用户环境变量即可。如果配置系统环境变量,那么所有用户登录都可以。

(2)如果已经存在PATH环境变量,就应该在原有变量的基础上,通过英文分号(;)分开并追加到后面。

(3)建议环境变量的名称使用大写字母。

1.2.4 测试是否安装成功

打开命令行工具界面(可以通过按Win+R快捷键,并在打开的对话框中输入“cmd”的方式快速打开),然后输入:

C:\>javac -version

javac 1.8.0_77

如果通过javac -version命令输出了javac编译的版本,并且输出正确,则说明安装成功。

1.3 Java编程初体验

Java源文件就是一个以*.java结束的文本文件。Java语言是编译执行的语言。运行Java程序,必须先将*.java文件通过javac编译成*.class文件,然后通过java命令运行*.class文件,整个编译的运行过程如图1-8所示。

图1-8

在开发之前,建议创建一个目录,用于保存所有的Java源文件。本章中的所有源代码都将保存到D:/java目录下。

1.3.1 创建HelloWorld.java源文件

建议选择一个比较干净的目录,然后创建一个名称为HelloWorld.java的文本文件。

创建HelloWorld.java源文件,如图1-9所示。

图1-9

【文件1.1】 HelloWorld.java

在上面的代码中,public为权限修饰关键字,意为公开的。class用于声明一个类。在Java中,所有的函数(方法)都必须放到一个类中,这也是面向对象的基本特性之一。HelloWorld为类的名称。Java规定,以public修饰的类必须与文件名相同,并区分大小写。main为程序的入口方法。一个Java类,甚至是一个Java程序(可能包含 N 个类)一般都只有一个main入口方法。在目前学习阶段,我们可以在每一个类中都声明main方法。String[] args为形式参数。

第3行为系统输出语句,用于输出HelloWorld到命令行。

开发时,请注意大小写,执行语句结束使用英文分号(;),大括号(指上面代码中的“{”和“}”)要有开始和结束。

1.3.2 javac命令编译

在命令行中输入以下代码:

D:\java\> javac HelloWorld.java

将会发现在同一目录下已经将HelloWorld.java编译成HelloWorld.class,如图1-10所示。

图1-10

1.3.3 java命令运行

在使用java命令运行HelloWorld.class文件时,不需要输入.class扩展名:

D:\java>java HelloWorld HelloWorld

如果输出HelloWorld,则表示HelloWorld程序运行成功。

1.4 Java带包类的编译和运行

包声明的关键字为package。在Java中,可以将相同的类放到不同的包中加以区分。同时,package包声明语句还可以进行基本的权限控制。

1.4.1 修改HelloWorld.java的源代码

修改HelloWorld.java的源代码,在第一句添加package关键字声明的包。

【文件1.2】 HelloWorld1.java

第1行为新添加的包声明语句,后面通过点(.)声明带有层次的包,如cn.oracle(在cn包下的oracle子包)。

1.4.2 通过javac命令重新编译

javac命令拥有一个参数-d <目录>,可以直接将包声明语句编译成目录。

D:\java>javac -d . HelloWorld.java

-d参数后面的点(.)为当前目录,即将HelloWorld.java源文件带包名直接编译到当前目录下,编译以后的文件名如图1-11所示。

图1-11

在cn目录下有一个oracle目录,oracle目录下有HelloWorld1.class源文件。使用package声明的包最终将编译成文件夹。其实也可以直接将包声明语句理解为目录或文件夹,只要便于记忆即可(记住,拥有自己独特的学习和记忆方法是成功的关键)。

1.4.3 通过java命令运行有包声明的类

在使用javac -d <目录>编译成功以后,编译的目录(源代码所在的目录)叫源代码目录。编译后的目录叫classpath目录(存放所有*.class的目录)。我们不能直接进入cn/oracle目录中去运行一个Java程序。注意:只能在classpath的根目录(D:/java)下执行Java运行命令。

运行Java程序:

D:\a>java cn.oracle.HelloWorld1 HelloWorld

注意: 在创建Java源文件时,通过“我的电脑→查看→文件→选项”操作,将“隐藏已知文件类型的扩展名”选项取消,如图1-12所示。

图1-12

1.5 javac命令的更多参数

javac命令的更多参数可以通过运行javac -help命令来查看:

D:\java>javac -help

用法:

javac <options> <source files>

其中,可能的选项包括:

1.6 java命令的更多参数

java命令的更多参数可以通过运行java –help命令查看:

D:\java>java -help

用法:

其中选项包括:

1.7 main方法接收参数

在main方法中,String[] args为命令行参数。在执行时,可以利用空格通过“java 参数1 参数2…”的方式将所有参数传递给入口方法main。

【文件1.3】 HelloWorld2.java

在上面的代码中,第4行输出命令行参数的个数。for是循环控制语句(后面将会讲到),用于从第一个参数输出到最后一个参数。

使用javac编译上面的代码,然后使用以下命令运行编译以后的程序:

D:\a>javac -d . HelloWorld2.java D:\a>java cn.oracle.HelloWorld2 Jack Mary Alex Mrchi 参数的个数为:4 Jack Mary Alex Mrchi

1.8 javadoc命令

javadoc命令用于将标准的javadoc注释生成文档。javadoc标准注释一般是:注释到类上,对类起说明作用;注释到方法或成员变量上,对方法或者功能成员变量的含义做出说明。例如,存在以下javadoc注释。

【文件1.4】 ExampleJavaDoc.java

使用以下命令生成标准文档:

D:\java>javadoc -author ExampleJavaDoc.java 正在加载源文件ExampleJavaDoc.java... 正在构造Javadoc信息... 标准Doclet版本 1.8.0_77 正在构建所有程序包和类的树... 正在生成.\cn\oracle\ExampleJavaDoc.html... 正在生成.\cn\oracle\package-frame.html... 正在生成.\cn\oracle\package-summary.html... 正在生成.\cn\oracle\package-tree.html... 正在生成.\constant-values.html... 正在构建所有程序包和类的索引... 正在生成.\overview-tree.html... 正在生成.\index-all.html... 正在生成.\deprecated-list.html... 正在构建所有类的索引... 正在生成.\allclasses-frame.html... 正在生成.\allclasses-noframe.html... 正在生成.\index.html... 正在生成.\help-doc.html...

第1行是生成的命令,后面是自动生成文档时输出的信息。生成以后的文档如图1-13所示。

打开index.html,将会看到标准的javadoc文档,如图1-14所示。

图1-13

图1-14

1.9 Java开发利器

工欲善其事,必先利其器。由于记事本编写代码速度慢且不易排查错误,为了提高程序的开发效率,可以使用集成开发工具(Integrated Development Environment,IDE)进行Java开发,目前市场上的Java IDE很多,接下来为读者推荐几款Java开发工具:

● Eclipse(推荐):免费开源的Java IDE,企业Java开发经典的IDE工具,有巨大稳定的用户群体、强大的插件支持和完善的技术资料。

● JetBrains的IntelliJ IDEA:目前有不少企业使用该开发工具,代码提示较为智能,功能强大。

● Notepad++:Notepad++是在微软Windows环境之下的一个免费的代码编辑器。

● NetBeans:开源免费的Java IDE,是Oracle公司收购的一个Java集成开发环境。

本书我们将使用Eclipse作为开发环境,采用的版本为4.6.1。

1.9.1 下载Eclipse

Eclipse是一个开源且免费的开发环境,在www.eclipse.org官网上即可下载到最新版本的Eclipse。

Eclipse的下载页面如图1-15所示,找到跟JDK匹配的版本,本书采用的Eclipse的版本为4.6.1,读者需要根据操作系统位数下载相应的版本。

图1-15

1.9.2 安装Eclipse

下载的Eclipse软件是一个ZIP类型的压缩文件,解压即可使用。请保证你已经安装了JDK,并正确地配置了JAVA_HOME和PATH两个环境变量。

在解压以后,得到如图1-16所示的目录。

其中,eclipse.exe为运行Eclipse的可执行文件,双击后,将启动Eclipse,然后选择一个工作区(workspaces,今后所有Java项目所保存的目录)。

启动时要选择工作区,其中,workspace默认的目录为C:/administrator/workspaces,但是不建议将所有的项目都放到C盘,所以这里可以输入一个你喜欢的其他任意目录。建议工作区也不要在C盘上。比如我们把它放在D盘,如图1-17所示。

图1-16

图1-17

1.9.3 Eclipse中Java项目的创建

在Eclipse中创建的Java项目为Java源代码项目,一般包含两个目录:src为源代码目录,bin为classpath目录。以下是Java项目的目录结构:

● project:项目名,包含源代码目录src。

● bin:字节码目录,所有编译后的.class文件都自动保存到这个目录下。

● .project:Eclipse项目的配置文件。

1.创建Java项目

依次选择菜单项File→New→Java Project,如图1-18所示。

图1-18

2.输入项目名称

在New Java Project窗口中输入项目名称以后,直接单击Finish按钮,如图1-19所示。

图1-19

3.开发Java类

建议使用Package Explorer来查看项目的结构,它将会隐藏bin目录。虽然看不见bin目录,但是它依然存在。如果想要查看bin目录,则可以通过Navigation Explorer来查看,不过建议使用Package Explorer。创建以后的项目结果如图1-20所示。

在图1-20所示的窗口中,第一个框为显示的视图,第二个框src为源代码目录,第三个框JRE System Library为引用的JDK版本。

在src处右击,在弹出菜单中选择菜单项New→Class即可创建一个Java类,如图1-21所示。

图1-20

图1-21

输入类名及包名,如图1-22所示。

图1-22

创建的Java类已经有了类的结构,如包名和类名都已经自动填充完毕。

【文件1.5】 HelloWorld3.java

4.填充main方法

此时,只要在HelloWorld类里面实现main方法即可。

【文件1.6】 HelloWorld4.java

5.运行程序

在Eclipse中运行一个main方法,只要在拥有main方法中的类中右击,在弹出菜单中选择Run As → Java Application即可,如图1-23所示。

图1-23

运行结果可以通过控制台查看。

至此,就可以使用Eclipse开发Java项目了。

1.9.4 Eclipse项目的导入

如果已经存在一个Java项目,则可以使用Eclipse的导入功能直接导入,具体步骤如下。

(1)依次选择File→Import命令,如图1-24所示。

(2)选择已经存在的Eclipse项目,导入当前项目中,如图1-25所示。

图1-24

图1-25

(3)选择需要导入的项目,并选中Copy projects into workspace,如图1-26所示。

图1-26

(4)单击Finish按钮,导入项目成功。

注意: 在导入项目之前,要保证在Eclipse中不存在重名的项目。

1.9.5 在Eclipse中给main方法传递参数

在命令行使用java命令,可以将多个参数通过空格分开后传递给main方法。在Eclipse中也有同样的传递参数的位置。选择菜单项Run As→Run Configurations→Arguments打开配置参数的窗口,在Program arguments下添加参数,如图1-27所示。

图1-27

1.9.6 Eclipse的快捷键

Eclipse中有很多快捷键,它将让你的程序开发变得快步如飞。建议读者经常使用这些快捷键,从而达到运用自如的地步。

在Eclipse中,输出System.out.println("")时只要打出sysout或者syso+Alt+/即可补全所有代码。

Eclipse中常用的快捷键说明如下:

(1)Ctrl+Space:提供对方法、变量、参数、javadoc等信息的提示,应用在多种场合。总之,需要提示的时候可先按此快捷键。

(2)Ctrl+Shift+Space:变量提示。

(3)Ctrl+/:添加/消除//注释,在Eclipse 2.0中,消除注释为Ctrl+\。

(4)Ctrl+Shift+/:添加/* */注释。

(5)Ctrl+Shift+\:消除/* */注释。

(6)Ctrl+Shift+F:自动格式化代码。

(7)Ctrl+1:批量修改源代码中的变量名。此外,还可用在catch块上。

(8)Ctrl+F6:界面切换。

(9)Ctrl+Shift+M:查找所需要的包。

(10)Ctrl+Shift+O:自动引入所需要的包。

(11)Ctrl+Alt+S:源代码的快捷菜单。

(12)Alt+/:内容辅助。

更多快捷键可以参考Eclipse的官方网站,或者通过图1-28所示的界面去了解默认的快捷键。

图1-28

1.10 实训1:商超购物管理系统欢迎界面

1.需求说明

打印输出商超购物管理系统的欢迎界面和商品维护菜单的显示界面,界面参看专题一的专题一图1和专题一图2所示。

2.训练要点

熟练使用Java开发工具,如Eclipse等,学会创建Java项目,能够正确运行程序。

3.实现思路

(1)打开Eclipse,创建Java项目。

(2)编写代码,打印输出商超购物管理系统的欢迎界面。

4.解决方案及关键代码

1.11 本章总结

Java语言是目前最受企业欢迎的编程语言之一,有许多相关的工作岗位。无论从事哪个岗位,Java的核心技术都是基础。JDK是Java必备的开发工具。Java是跨平台的语言,JDK并不跨平台,要根据不同的操作系统选择不同的JDK版本。Java是运行在JRE里面的。

安装JDK后,需要配置两个环境变量:JAVA_HOME和PATH。

使用java -version命令可以检查当前JDK是否安装成功,并且可以显示版本信息。

Java源程序就是扩展名为*.java的文本文件。在*.java源文件开发完成以后,通过javac命令将*.java文件编译成*.class字节码文件,然后通过java命令运行Java的字节码文件。

Eclipse是一个集成开发工具,经常使用就会熟练。需要说明的是,只有掌握了Java代码的运行和编译才是关键。这样,无论使用什么Java开发工具,都可以信手拈来。

1.12 课后练习

1.简述在Eclipse中Java项目src、bin目录的含义。

2.解释什么是JDK和JRE,并说明二者的区别。

3.(  )可以将HelloWorld.java编译成HelloWorld.class。

A.java HelloWorld.java

B.javac HelloWorld.java

C.java -d . HelloWorld.java

D.javac HelloWorld

4.若HelloWorld.java保存在package cn.oracle;包结构声明中,则(  )可以正常运行这个Java程序。

A.javac cn.oracle.HelloWorld

B.java cn/oracle/HelloWorld

C.java cn.oracle.HelloWorld

D:java HelloWorld

5.(  )是生成标准文档的命令。

A.javac

B.java

C.doc

D.javadoc

6.开发Java程序必须安装(  )环境。

A.JRE

B.JDK

C.PATH

D.JAVA_HOME

7.JAVA_HOME一般配置成(  )。

A.JDK的安装目录

B.JRE的安装目录

C.当前目录

D.C盘的根目录

8.(  )是Eclipse中Java项目中存放Java源代码的目录。

A.bin

B.src

C.jre

D.java /JnYUqvXEPpu3+U9YbQYfKaBJDfbqx/f7Hjaa+PAqCLyEY54TGRYThb9GvH6/oMK

点击中间区域
呼出菜单
上一章
目录
下一章
×