Top

JAVA Fundamental DAY01

  1. JDK及Eclipse目录结构操作
  2. JDK的安装及配置
  3. 控制台版的JAVA HelloWorld
  4. 使用Eclipse开发Java应用程序

1 JDK及Eclipse目录结构操作

1.1 问题

为熟练掌握 Linux 下的目录操作,本案例需要完成如下操作:

1.2 方案

完成此案例,需要用到一些常用的 Linux命令。这些命令如下所示:

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:浏览 JDK 的目录结构

首先,打开终端,效果如图-1所示。

图- 1

然后,使用pwd命令查看当前所在目录位置。效果如图-2所示:

图- 2

由图-2可以看出,当前所在的目录为/home/soft01,此目录为用户主目录。因为 JDK目录在 /opt 目录下,因此,首先,需要使用 cd 命令进入opt目录,接着再次使用cd命令进入 opt 目录下的 jdk 目录。界面效果如图-3所示:

图- 3

进入 jdk 目录后,使用ls命令查看当前目录下的相关文件和目录,效果如图-4所示:

图- 4

图-4中,蓝色标识的为文件夹,黑色标识的为文件,绿色标识的为可执行文件,而红色标识的为压缩包。

步骤二:浏览 eclipse 的目录结构

eclipse也在opt目录下,而我们目前在 /opt/jdk 目录下。因此,首先需要进入/opt目录,然后才能进入opt下的eclipse目录。

首先,使用命令 cd .. 返回到上一层目录,即 /opt 目录,效果如图-5所示:

图- 5

然后,使用cd命令进入eclipse目录,效果图-6所示:

图- 6

进入 eclipse 目录后,使用 ls 命令查看当前目录结构,效果如图-7所示:

图- 7

1.4 完整代码

本案例中的代码均为命令代码,因此,没有完整代码呈现。

2 JDK的安装及配置

2.1 问题

安装JDK,并配置环境变量。

2.2 方案

请根据老师上课的讲解和本文档的步骤,完成 Java 开发环境的构建。

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:下载并安装 JDK

学习Java语言要从Java SE平台开始。

Oracle官方提供了两种针对Java SE平台的产品——JRE和JDK,可以从官方网站免费下载(/www.oracle.com/technetwork/java/index.html)。JRE(Java SE Runtime Environment)称之为Java SE运行时环境,提供了运行Java应用程序所必须的软件环境,包含有Java虚拟机(JVM)和丰富的类库(Libraries)。无论是开发Java应用还是仅仅运行一个已经开发好的Java应用都必须安装JRE。JDK( Java Development Kit)称为Java开发工具包,是JRE的超集,或者说JDK包含了JRE。JDK中除了包含有JRE的所有内容之外还提供了编写Java程序所必须的编译器和调试工具等。对于编写Java开发的人士一般需要下载JDK,目前的主流版本为JDK 6。

Java官方提供了针对不同操作系统平台的JDK版本,如Windows、Linux、Solaris等,在下载JDK时,可以根据自己的需要来选择,如图-8所示:

图- 8

以Windows版本的JDK为例,下载完成后需要进行安装。和安装其他Windows下的软件一样,根据安装界面的提示(如图-9所示)选择好安装目录,然后“下一步”、再“下一步”,直到完成整个安装过程。效果如图-9所示:

图- 9

需要注意的是,在图-9的JDK安装功能列表中,Java DB是可以选择不安装的,这是一个JDK自带的纯Java语言实现的关系型数据库,通常的Java开发时用不到它的。另外,对于Windows版的JDK安装程序,除了安装一个已经包含有JRE的JDK之外,还要再安装一个独立的JRE(所谓“公共的JRE”)并在注册表中对其进行注册,其目的是对于一些需要用到JRE的应用程序可以通过注册信息自动的找到JRE。

“公共JRE”是一个可选项,可以选择不安装,毕竟JDK中已经包含有了一个完整的JRE(只不过没有在注册表中注册);如果选择了该项,在安装完JDK之后,安装程序还要提示用户选择公共JRE的安装目录。

除了下载JDK之外,开发人员一般还要下载Java官方文档,这是学习和开发Java语言必备的资料。Java 官方文档的具体下载位置在/www.oracle.com/technetwork/java/javase/downloads/index.html 页面,如图-10所示:

图- 10

文档下载解压后将以HTML格式呈现,使用浏览器打开文档首页(index.html),可以看到如图-11所示的“JDK全貌”,通过单击相关链接可以了解其细节。

图- 11

由图-11可以看出:JDK包含JRE和开发工具包(Tools & Tool APIs);而JRE包含有Java虚拟机(JVM)和各种类库(Libraries)。

步骤二:配置环境变量

JDK安装完成后,在JDK安装路径下可以看到如下内容:

其中,bin中的javac命令和java命令是我们很快要用到的命令。如果想用到这些命令,需要让操作系统可以找到这些命令文件所在的路径。在Windows操作系统中,可以通过配置Path环境变量来实现。Path环境变量是一串用分号(;)分隔开的目录,在通过控制台运行一个命令时,Windows会依次在Path环境变量中的每一个目录中查找该命令,如果找到就可以执行,否则就会有如图-12所示的错误提示:

图- 12

在Windows系统中通过“控制面板”→“系统”→“高级系统设置”打开如图-13所示的对话框:

图- 13

单击图-13中的“环境变量”按钮,并在弹出的对话框中双击系统变量Path,并对其进行编辑。在Path变量值的末尾追加JDK开发工具路径(“JDK安装路径\bin”),假设JDK的安装路径为:“D:\Program Files\Java\ jdk1.6.0_24”则需追加的Path路径为:“;D:\Program Files\Java\jdk1.6.0_24\bin”。注意,路径之间需要用分号隔开。效果如图-14所示:

图- 14

环境变量设置完成后,通过“附件”→“命令提示符”(或者运行cmd命令)打开控制台,键入java或javac命令,看到输出正常的提示信息就表示环境变量配置成功了。效果如图-15所示:

图- 15

需要注意的是,如果在安装JDK时选择安装了公共JRE,则不需要配置Path环境变量也可以运行java命令,这是由于公共JRE路径写入了注册表的缘故。

2.4 完整代码

本案例均为实际操作,因此没有完整代码呈现。

3 控制台版的JAVA HelloWorld

3.1 问题

使用vi编写HelloWorld.java程序,运行后,在控制台输出“Hello World”。

3.2 方案

请根据老师上课的讲解和本文档的步骤,慢慢体会Java的魅力。

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:打开vi,进入编辑模式

首先,打开终端;然后,在终端内输入vi及文件名称HelloWorld.java后,就进入vi全屏幕编辑画面,终端界面如图-16所示。

图- 16

vi编辑界面如图-17所示。

图- 17

步骤二:编写创建类的代码

首先,在vi编辑界面上,输入命令i,使vi进入插入模式;然后,键入创建类的代码,界面如图-18所示。

图- 18

Java语言是纯粹的面向对象的语言,任何一段Java代码都需要从定义一个类开始。至于“类”的详细将在后续的课程内容中详解,这里可以暂做了解。public class 类名 { ... }  是定义类的语法,除了类名可以自己指定外,其他的public和class都是Java关键字(所谓Java关键字是指Java语言中预先定义的代表特定含义的字符),这里只要保证不要写错就可以了。

另外,在此需要注意,Java语言是严格大小写区分的,“H”和“h”是两个不同的字符,编写时需要注意。

步骤三:定义 main 方法

接着,在 HelloWorld 类中,定义Java应用程序的入口方法main,代码如图-19所示:

图- 19

这行代码的具体含义需要在后续课程内容中细述,这里只要记住两点:第一、如果一个类包含有这样一个方法,则该类就是一个可以被运行的类,而且该方法是程序的入口,也就是说程序从该方法的第一行代码开始逐行运行。第二、慢慢写,不要写错!

步骤四:输出信息到控制台

在 main 方法中,添加代码,以输出“Hello World”到控制台界面显示,代码如图-20所示。

图- 20

步骤五:保存代码,退出vi

首先,当前vi在插入模式下,按一下Esc键转到命令行模式;然后,按一下:冒号键进入最后一行模式;最后,输入命令wq,存盘并退出vi,回到终端界面,如图-21所示。

图- 21

此时,将HelloWorld.java文件保存在当前目录下,如图-22所示。

图- 22

步骤六:编译源文件

源文件编写完成后,需要进行编译,即转换为可以在JVM中运行的字节码文件。JDK工具中的javac命令(在JDK安装目录的bin子目录下)可以实现这样的工作。

在终端,接着键入如下命令:

javac  HelloWorld.java

命令运行成功后会在当前目录下生成HelloWorld.class文件。当然,对于初学者,可能会出现各种各样的错误。需要根据错误提示信息耐心的修改(大多数错误可能是由于字符书写错误造成的,比如大小写的问题)。

步骤七:启动JVM,运行Java程序

编译成功之后,就可以使用java命令运行该字节码文件(更准确的说法是:启动JVM运行字节码文件)。

接着在终端,键入如下命令:

java HelloWorld

如果代码书写正确的,执行上述命令后,终端显示内容如图-23所示。

图- 23

从图-23中可以看出,程序的输出结果为“Hello World”。

3.4 完整代码

本案例的完整代码如下所示:

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}

4 使用Eclipse开发Java应用程序

4.1 问题

在上一案例“控制台版的JAVA Hello World”中,我们使用最简单的编辑工具,编写源代码,并通过调用JDK工具命令体验了Java程序的编译、运行的全过程。理论上,我们可以使用这样的方式编写任何Java程序,但在真实的企业项目中,这种原始的开发方式势必会带来大量繁琐、重复、易错的操作,会极大的降低工作效益;同时也不利于项目的整体管理。在真实的场景中,开发人员总是会借助一些强大的“集成开发环境”进行代码的编写、调试、测试、提交、重构等操作,例如:Eclipse。

本案例要求使用开发工具Eclipse编写HelloWorld.java程序。在Eclipse的控制台中,该程序的输出结果如图-24所示:

图- 24

4.2 方案

请根据老师上课的讲解和本文档的步骤, 慢慢体会Eclipse工具开发Java程序的便利。

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:开启开发工具Eclipse

eclipse启动后会弹出如下对话框,如图-25所示。

图- 25

弹出的对话框“Workspace Launcher”用于选择“工作区”(Workspace)。所谓“工作区”是指Eclipse用于存储工程的路径。Eclipse通过“工程”(Project)来组织资料。程序员编写的源文件、编译生成类文件等以特定的目录结构存储在工程文件夹中。

步骤二:创建Java工程

选择菜单操作“File ( New ( Java Project”用于创建一个适合编写Java基本应用程序的工程。在弹出的对话框中填写工程的名称(Project Name)然后单击“Finish”按钮。如图-26所示:

图- 26

工程创建完成后,会在工作区目录(Eclipse启动时指定)生成一个与工程名称同名的文件夹。打开此文件夹,会看到如图-27所示的目录结构:

图- 27

其中:“src”文件夹用于存放用户编写的Java源文件;“bin”文件夹用于存放Eclipse自动编译生成的class文件。Eclipse具备自动编译的功能,当用户在编写Java源文件的同时,Eclipse会自动的调用系统的Java编译器编译该文件,并将编译好的class文件存放在bin目录中。另外,“.classpath”和“.project”两个文件以及“.settings”文件夹中的内容是Eclipse用来维护工程信息的,一般可以不去理会。

步骤三:创建名为HelloWorld的类

工程创建完成以后,可以通过菜单操作“File ( New ( Class”创建Java源文件。在弹出的对话框中,填写要创建的Java类的类名(Name)和包名(Package),如图-28所示。(关于包的含义将在后续课程中详述。)

图- 28

填写完类名(本例中为“HelloWorld”)和包名(本例中为“day01”)后,单击“Finish”按钮。Eclipse即创建了一个名为HelloWorld.java的源文件。

步骤四:定义类

在Eclipse编写HelloWorld程序,如图-29所示。

图- 29

程序编写完成,确认无编译错误后,可以使用菜单操作“Run ( Run As ( Java Application”来运行该程序。运行的结果会在代码下方的Console视图中显示。这里需要指出的是:这个操作在本质上与先前通过命令行方式运行Java程序并没有什么不同,可以理解为是Eclipse调用JDK的java命令,用更加友好的图形化界面方式实现运行Java程序的操作而已。

4.4 完整代码

本案例的完整代码如下所示:

package day01;

public class HelloWorld {// 类体开始
	// main方法是Java程序的入口方法
	public static void main(String[] args) {// 方法体开始
		System.out.println("Hello World");
	}// 方法体结束
}// 类体结束