
1.4 开发环境配置及编写第一个Java应用
跟随本书的学习,开发环境起码需要以下工具:
· JDK 13
· 支持JDK 13的IDE
1.4.1 JDK 13的下载
JDK 13的下载地址为https://www.oracle.com/technetwork/java/javase/downloads/index.html。
根据不同的操作系统,选择不同的安装包,JDK 13支持表1-1所示的环境。
表1-1 操作系统与安装包对应的关系

1.4.2 JDK 13的安装
以Windows环境为例,可通过jdk-13_windows-x64_bin.exe或jdk-13_windows-x64_bin.zip来进行安装。 .exe文件的安装方式较为简单,按照界面提示单击“下一步”按钮即可。
下面演示.zip安装方式。
1.解压.zip文件到指定位置
将jdk-13_windows-x64_bin.zip文件解压到指定的目录下即可。比如,本书放置在D:\Program Files\jdk-13位置,该位置下包含如图1-3所示的文件。

图1-3 解压文件
2.设置环境变量
创建系统变量“JAVA_HOME”(见图1-4),其值指向了JDK的安装目录。

图1-4 系统变量
在用户变量“Path”中,增加“%JAVA_HOME%\bin”,如图1-5所示。
注意
JDK 13已经无须再安装JRE,设置环境变量时也不用设置CLASSPATH了。

图1-5 用户变量
3.验证安装
执行“java -version”命令进行安装的验证:
>java -version java version "13" 2019-09-17 Java(TM) SE Runtime Environment (build 13+33) Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)
如果显示上述信息,则说明JDK已经安装完成。
如果显示的内容还是安装前的老JDK版本,就可按照如下步骤解决。
首先,卸载老版本的JDK,如图1-6所示。

图1-6 卸载老版本JDK
其次,在命令行输入如下指令来设置JAVA_HOM和Path:
>SET JAVA_HOME=D:\Program Files\jdk-13 >SET Path=%JAVA_HOME%\bin
1.4.3 Eclipse的下载
Eclipse是免费、开源的IDE,拥有极高的市场占有率,支持最新的JDK 13开发,故在本书推荐采用Eclipse做开发。
读者也可以选择自己熟悉的IDE,但是必须要支持JDK 13的开发。
Eclipse的下载地址为https://www.eclipse.org/downloads/packages/。下载时,选择“Eclipse IDE for Enterprise Java Developers”版本,如图1-7所示。

图1-7 选择Eclipse版本
在本例中,下载安装包为eclipse-SDK-I20190920-1800-win32-x86_64。
1.4.4 Eclipse的安装
以Windows环境为例,可通过eclipse-SDK-I20190920-1800-win32-x86_64来进行安装。下面演示.zip安装方式。
1.解压.zip文件到指定位置
将eclipse-SDK-I20190920-1800-win32-x86_64文件解压到指定的目录下即可。比如,放置在D:\Program Files\eclipse-SDK-I20190920-1800-win32-x86_64\eclipse位置,该位置下包含如图1-8所示的文件。

图1-8 解压文件
2.打开Eclipse
双击eclipse.exe文件,即可打开Eclipse。
1.4.5 Eclipse的配置
打开Eclipse时,首先要配置工作区间。
1.配置工作区间
默认的工作区间如图1-9所示。用户也可以指定自己的工作区间。

图1-9 指定工作区间
2.配置JDK
默认情况下,Eclipse会自动按照系统变量“JAVA_HOME”来查找所安装的JDK,无须特殊配置。
如果要自定义JDK版本,可以在“Window->Preferences->Installed JREs”找到配置界面。
1.4.6 创建Java应用
创建一个Java项目,指定该应用名词为“modern-java”。单击“Finish”按钮,如图1-10所示。

图1-10 创建应用
1.4.7 创建模块
自JDK 9起,Java程序支持模块化开发,所以在创建完上述应用后会提示创建一个模块。这里,创建一个名为“com.waylau.java.hello”的模块,如图1-11所示。

图1-11 创建模块
模块信息是包含在module-info文件里面的,如图1-12所示。

图1-12 模块信息
注意
有关Java模块的内容,还会在后续章节详细讲解,此处可以不必深究含义。
1.4.8 创建Hello World程序
按照编程惯例,第一个程序通常是一个Hello World程序。
创建“com.waylau.java.hello”包,并在该包下创建名为“HelloWorld”的类,如图1-13所示。

图1-13 Hello World
HelloWorld代码如下:

在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候第一个执行的方法就是main()方法。这个方法和其他的方法有很大的不同,比如方法的名字必须是main、方法必须是public static void类型的、方法必须接收一个字符串数组的参数等。
右击,运行该类,可以看到在控制台输出了“Hello World”字样的文本信息,如图1-14所示。

图1-14 控制台输出
至此,一个简单的Java程序就开发完了。
1.4.9 使用JUnit 5
JUnit是用于单元测试非常方便的工具。Eclipse已经集成了JUnit类库。要使用JUnit,只需要在项目中引入该类库即可。这里将JUnit引入项目的模块路径(Modulepath)下,如图1-15所示。
同时修改项目的module-info.java文件,引入JUnit,代码如下:
module com.waylau.java.hello { requires org.junit.jupiter.api; }

图1-15 使用JUnit 5
这样就能在应用中使用JUnit 5进行断言了,代码如下:

其中:
· @Test注解的方法就是一个测试用例。
· org.junit.jupiter.api.Assertions.assertEquals是JUnit提供的静态方法,用来判断两个对象是否相等。若断言结果为两个对象相等,则代表测试通过。
可以通过右键菜单的JUnit Test来运行该测试用例,如图1-16所示。

图1-16 运行JUnit 5测试用例
在运行结果中,绿色代表测试通过,红色代表测试失败。图1-17展示了测试通过的界面。

图1-17 JUnit 5测试通过