什么是java
在揭开Java语言的神秘面纱之前,先来认识一下什么是计算机语言。计算机语言(Computer Language)是人与计算机之间通信的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,程序员可以通过这些指令与计算机进行交互。计算机语言的种类繁多,总的来说可以分成机器语言、汇编语言、高级语言三大类。计算机所能识别的语言只有机器语言,但通常人们编程时,不采用机器语言,这是因为机器语言都是由二进制的0和1组成的编码,不便于记忆和识别。目前通用的编程语言是汇编语言和高级语言,汇编语言采用了英文缩写的标识符,容易识别和记忆;高级语言采用接近于人类的自然语言进行编程,进一步简化了程序编写的过程,所以,高级语言是目前绝大多数编程者的选择。
Java是一种高级计算机语言,它是由Sun公司(已被Oracle公司于2009年4月20日收购)于1995年5月推出的一种可以编写跨平台应用软件、完全面向对象的程序设计语言。Java语言简单易用、安全可靠,自问世以来,与之相关的技术和应用发展得非常快。在计算机、移动设备、家用电器等领域中,Java技术无处不在。
针对不同的开发市场,Sun公司将Java划分为三个技术平台,它们分别是Java SE、Java EE和Java ME。
● Java SE(Java Platform Standard Edition)Java平台标准版
该版本是为开发普通桌面和商务应用程序提供的解决方案。Java SE是三个平台中最核心的部分,Java EE和Java ME都是从Java SE的基础上发展而来的,Java SE平台中包括了Java最核心的类库,如集合、IO、数据库连接以及网络编程等。
● Java EE(Java Platform Enterprise Edition)Java平台企业版
该版本是为开发企业级应用程序提供的解决方案。Java EE可以被看作一个技术平台,该平台用于开发、装配以及部署企业级应用程序,其中主要包括Servlet、JSP、JavaBean、EJB、Web Service等。
● Java ME(Java Platform Micro Edition)Java平台微型版
该版本是为开发电子消费产品和嵌入式设备提供的解决方案。Java ME主要用于微型数字电子设备上软件程序的开发。例如,为家用电器增加智能化控制和联网功能,为手机增加新的游戏和通讯录管理功能。此外,Java ME提供了HTTP等高级Internet协议,使移动电话能以Client/Server(客户端/服务器端)方式直接访问Internet的全部信息,提供最高效率的无线交流。
java语言的特点
Java是一门优秀的编程语言,它之所以应用广泛,受到大众的欢迎,是因为它有众多突出的特点,其中最主要的特点有以下几个。
1.简单易用
Java是一种相对简单的编程语言,它通过提供最基本的方法来完成指定的任务,只需掌握一些基础的概念和语法,就可以编写出很多实际可用的应用程序。Java丢弃了C++中很难理解的运算符重载、多重继承等模糊概念。特别是Java语言不使用指针,而是使用引用,并提供了自动的垃圾回收机制,使程序员不必过多的操心内存管理的问题。
2.安全可靠
Java通常被用在网络环境中,为此,Java提供了一套可靠的安全机制来防止恶意代码的攻击。Java程序运行之前会利用字节确认器进行代码的安全检查,确保程序不会存在非法访问本地资源、文件系统的可能,保证了程序在网络间传送的安全性。
3.跨平台
Java引入了虚拟机的概念,通过Java虚拟机(Java Virtual Machine,称为JVM)可以在不同的操作系统上(如Windows、Linux等)运行Java程序,从而实现跨平台特性。
4.面向对象
Java将一切事物都看成对象,通过面向对象的方式,将现实世界的事物抽象成对象,将现实世界中的关系(如父子关系)抽象为继承。这种面向对象的方法,更利于用人们对复杂程序的理解、分析、设计和编写。
5.支持多线程
Java语言内置了多线程控制,可使用户程序并发执行。利用Java的多线程编程接口,开发人员可以方便地写出多线程的应用程序,提高程序的执行效率。
什么是JDK
Sun公司提供了一套Java开发环境,简称JDK(Java Development Kit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。
为了满足用户日新月异的需求,JDK的版本也在不断地升级。在1996年1月,Sun公司发布了Java的第一个开发工具包JDK 1.0,随后相继推出了JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4、JDK 5(1.5)、JDK 6(1.6)、JDK 7(1.7)、JDK 8(1.8)和JDK 9(1.9)、JDK 10。由于JDK 9是2017年9月发布的新版本,JDK 10是2018年3月发布的新版本,目前并不稳定,且市场使用率低,所以本教材将针对目前稳定的JDK 8(也称之为Java 8或JDK 1.8)进行讲解。
Sun公司除了提供JDK,还提供了一种JRE(Java Runtime Environment)工具,它是Java运行环境,是提供给普通用户使用的。由于普通用户只需要运行事先编写好的Java程序,不需要自己动手编写,因此JRE工具中只包含Java运行工具,不包含Java编译工具。值得一提的是,为了方便使用,Sun公司在其JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可。
安装JDK
Oracle公司提供了多种操作系统的JDK,每种操作系统的JDK在使用上基本类似,初学者可以根据自己使用的操作系统,从Oracle官方网站下载相应的JDK安装文件。接下来以32位的Windows 7系统为例来演示JDK 8的安装过程,具体步骤如下:
1.开始安装JDK
双击从Oracle官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html
)下载的安装文件“jdk-8u151-windows-i586.exe”(本书编写时的最新版本,随着JDK的更新在官网可能找不到对应的版本,此时可以使用JDK 8的其他版本替代),进入JDK安装界面,如图1所示。
小提示:
前面讲解什么是Java时,已经介绍Sun公司于2009年4月20日被Oracle公司收购,所以下载Java相关软件都会转入Oracle官网链接地址进行下载。*
2.自定义安装功能和路径
单击图1-1中安装界面的【下一步】按钮进入JDK的定制安装界面,如图2所示。
在图2所示界面的左侧有三个功能模块可供选择,通常情况下,只需要选择开发工具和源代码两个功能模块即可。单击某个模块后,在界面右侧的功能说明区域会显示该模块所包含的功能说明,关于这三个模块的具体功能介绍如下:
● 开发工具:是JDK中的核心功能模块,其中包含一系列Java程序所必须的可执行程序,如javac.exe、java.exe等,还包含了一个专用的JRE环境。
● 源代码:安装此模块将会安装Java所有核心类库的源代码。
● 公共JRE:是Java程序的运行环境。由于开发工具中已经包含了一个JRE,因此没有必要再安装公共的JRE环境,此项可以不作选择。
小提示:
公共JRE是一个独立的JRE系统,会单独安装在系统的其他路径下。公共JRE会向IE浏览器和系统中注册Java运行时环境,通过这种方式,系统中任何应用程序都可以使用公共JRE。由于现在的网站中已很少在网页上直接执行Java小程序,并且我们也可以使用JDK目录下的JRE来运行Java程序,因此不需要安装公共JRE。*
在图2所示的界面右侧有一个【更改(C)…】按钮,单击该按钮会弹出选择安装目录的界面,如图3所示。
通过单击按钮进行选择或直接输入路径的方式确定JDK的安装目录,在这里将JDK的安装目录修改为“D:\Java\jdk1.8.0_151”后,单击【确定】按钮即可。
3.完成JDK安装
对所有的安装选项做出选择后,单击图所示界面中的【下一步】按钮开始安装JDK。安装完毕后会进入安装完成界面,如图4所示。
单击图4中的【关闭】按钮,会关闭当前程序界面,此时已完成JDK 8的安装。
对于很多初学者来说,由于没有完全弄明白JDK、JRE与JVM之间的关系和区别,因此特别容易将三者之间的关系混淆。为了使读者能够清晰的理解它们的关系,下面通过一张图来描述,如图5所示。*
从图可以看出,JDK中包含了开发工具和JRE,而JRE中又包含了Java基础类库和JVM。其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要类加载器、字节码校验器以及Java的基础类库等。如果只是运行Java程序,可以只安装JRE,而无需安装JDK。如果要开发Java程序,则必须安装JDK。
JDK目录介绍
JDK安装完毕后,会在硬盘上生成一个目录,该目录被称为JDK的安装目录,如图1所示。
为了更好地学习JDK,初学者需要对JDK安装目录下的子目录及文件的作用有所了解,接下来分别对JDK安装目录下的子目录进行介绍。
● bin目录:该目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。
● db目录:db目录是一个小型的数据库。从JDK 6开始,Java中引入了一个新的成员Java DB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅很轻便,而且支持JDBC 4.0所有的规范,在学习JDBC时,不再需要额外地安装一个数据库软件,选择直接使用Java DB即可。
● include目录:由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。
● jre目录:此目录是Java运行时环境的根目录,它包含Java虚拟机,运行时的类包、Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
● lib目录:lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。
● javafx-src.zip:该压缩文件内存放的是Java FX(Java图形用户界面工具)所有核心类库的源代码。
● src.zip:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。
● README等说明性文档。
在上面的目录中,bin目录是一个非常重要的目录,在其目录中存放着很多可执行程序,其中最重要的就是javac.exe和java.exe,这两个文件的主要作用如下:
● javac.exe是Java编译器工具,它可以将编写好的Java文件编译成Java字节码文件(可执行的Java程序)。Java源文件的扩展名为.java,如“HelloWorld.java”,编译后生成对应的Java字节码文件,文件的扩展名为.class,如“HelloWorld.class”。
● java.exe是Java运行工具,它会启动一个Java虚拟机(JVM)进程,Java虚拟机相当于一个虚拟的操作系统,它专门负责运行由Java编译器生成的字节码文件(.class文件)。
PATH环境变量
ATH环境变量用于保存系统的一系列的路径,每个路径之间用英文分号(;)相隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下寻找是否存在该文件,如果不存在,则会在PATH环境变量中定义的路径下寻找这个文件。如果找到该文件,那么会执行该文件;如果未找到,那么将出现“'xxx'不是内部或外部命令,也不是可运行的程序或批处理文件”的提示信息。因此,要编译和运行Java程序,除了可以在javac.exe和java.exe所在目录(JDK安装目录下的bin目录)中操作外,还可以将javac和java两个可执行文件所在的路径添加到PATH环境变量中,这样我们就可以在系统的任何位置对Java程序编译和运行了。
以Windows 7系统为例,配置PATH环境变量的步骤如下:
(1)打开环境变量窗口。右键单击桌面上的【计算机】,从打开菜单中选择【属性】,在出现的【系统】窗口中选择左边的【高级系统设置】选项,然后在【高级】窗口中单击【环境变量】按钮,打开【环境变量】窗口,如图1所示。
CLASSPATH环境变量
CLASSPATH环境变量也用于保存一系列路径,当Java虚拟机需要运行一个类时,会在CLASSPATH环境变量所定义的路径下寻找所需的class文件和类包。CLASSPATH环境变量的配置方式与PATH环境变量的配置方式类似,只不过新建的变量名为“CLASSPATH”,而变量值为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”,如图1所示。
需要注意的是,在设置CLASSPATH变量时,必须在配置路径前添加一点(.)来识别当前目录下的Java类。在JDK 1.4之前的版本中,CLASSPATH环境变量是必须配置的,但从JDK 5开始,如果CLASSPATH环境变量没有设置,那么Java虚拟机会自动搜索当前路径下的类文件,并且自动加载dt.jar和tools.jar文件中的Java类,因此可以不设置CLASSPATH环境变量。
第一个java程序
在前面小节中,已经搭建好了Java开发环境,下面就来学习一下如何开发Java程序。为了让初学者更好地完成第一个Java程序,接下来通过几个步骤进行逐一讲解。
1.编写Java源文件
在D盘根目录下新建一个test文件夹,并在该文件夹中新建文本文档,重命名为HelloWorld.java后,用记事本方式打开,在其中编写一段Java代码,如文件1所示。
文件1 HelloWorld.java
1 public class HelloWorld {
2 public static void main(String[] args) {
3 System.out.println("这是第一个Java程序!");
4 }
5 }
文件1中的代码实现了一个Java程序,下面对其中的代码进行解释说明。
● class是一个关键字,它用于定义一个类。在Java中,类就是一个程序的基本单元,所有的代码都需要在类中书写。
● HelloWorld是类的名称,简称类名。class关键字与类名之间需要用空格、制表符、换行符等任意的空白字符进行分隔。类名之后要写一对大括号,它定义了当前这个类的管辖范围。
● “public static void main(String[] args){}”定义了一个main()方法,该方法是Java程序的执行入口,程序将从main()方法所属大括号内的代码开始执行。
● 在main()方法中编写了一条执行语句“System.out.println("这是第一个Java程序!");”,它的作用是打印一段文本信息,执行完这条语句会在命令行窗口中打印“这是第一个Java程序!”。
在编写程序时,需要特别注意的是,程序中出现的空格、括号、分号等符号必须采用英文半角格式,否则程序会出错。
2.使用命令行窗口进入指定目录
JDK中提供的大多数可执行文件都能在命令行窗口中运行,javac.exe和java.exe两个可执行命令也不例外。打开命令行窗口,并通过如下命令进入test目录。
D:
cd test
进入指定的目录后,效果如图1所示。
3.编译Java源文件
在命令行窗口中输入“javac HelloWorld.java”命令,对源文件进行编译,如图2所示。
上面的javac命令执行完毕后,会在当前目录下生成一个字节码文件“HelloWorld.class”。
注意:
在命令行窗口使用javac命令对带有中文的Java源文件进行编译时,必须保证源文件的编码格式和命令行窗口解码格式一致,否则会出现源文件编译错误。在中文环境下,命令行窗口默认编码格式是GBK,而记事本编码格式也是GBK,所以在第1步编写HelloWorld.java源文件时,可以直接使用Windows系统自带的记事本进行编辑并保存。如果读者在第1步使用了其他文本编辑器(如EditPlus、Notepad++等)来编写Java源文件,这些文本编辑器默认编码格式多数为UTF-8,那么必须将Java源文件以GBK格式编译,或者是将命令行窗口更改为文本编辑器相同的编码格式,否则编译时会报错。
4.运行Java程序
在命令行窗口中输入“java HelloWorld”命令,运行编译好的字节码文件,运行结果如图3所示。
从图3可以看出,窗口中已经显示出了源文件代码中的输出信息。
上面的步骤演示了一个Java程序编写、编译以及运行的过程。其中有两点需要注意:第一,在使用javac命令进行编译时,需要输入完整的文件名,如上例中的程序在编译时需要输入“javac HelloWorld.java”;第二,在使用java命令运行程序时,需要的是类名,而非完整的文件名,如上例中的程序在运行时,只需要输入“java HelloWorld”,而不是“java HelloWorld.class”。
在使用javac命令编译文件1-1中的程序时,有可能会出现“找不到文件”的错误,如图4所示。
出现这样的错误很有可能是因为文件的扩展名被隐藏了,虽然文本文件被重命名为“HelloWorld.java”,但实际上该文件的真实文件名为“HelloWorld.java.txt”,文件类型并没有得到修改。为了解决这一问题,需要让文件显示扩展名,方法如下:
打开Windows系统控制面板中的【文件夹选项】,在“查看”选项下高级设置一栏中将“隐藏已知文件类型的扩展名”选项前面的“√”取消,单击【确定】按钮,如图5所示。
文件显示出扩展名.txt后,将其重命名为HelloWorld.java即可。
Java的运行机制
使用Java语言进行程序设计时,不仅要了解Java语言的特点,还需要了解Java程序的运行机制。Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名为.java的源文件进行编译,生成后缀名为.class的字节码文件,然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。
为了让初学者能更好地理解Java程序的运行过程,接下来以文件1-1为例,通过一张图来详细的分析程序的执行过程,如图1所示。
图1 Java程序的编译和执行过程
图1中的具体执行步骤分析如下:
① 编写一个Java源文件HelloWorld.java。
② 使用“javac HelloWorld.java”命令开启Java编译器并进行编译。
③ 编译结束后,会自动生成一个HelloWorld.class的字节码文件。
④ 使用“java HelloWorld”命令启动Java虚拟机运行程序,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机会通过Java解析器对加载到内存中的Java类进行解析执行。
⑤ 执行后会生成计算机可以识别的机器码文件。
⑥ 机器码文件在计算机运行并显示结果。
通过上面的分析不难发现,Java程序是由Java虚拟机负责解释执行的,而并非操作系统。这样做的好处是可以实现Java程序的跨平台。也就是说,在不同的操作系统上,可以运行相同的Java程序,各操作系统中,只需安装不同版本的Java虚拟机即可,下面以Windows、Linux、MacOS操作系统为例,如图2所示。
图2 不同版本的虚拟机
从图2可以看出,不同的操作系统需要使用不同版本的Java虚拟机,这种方式使得Java语言具有“一次编写,到处运行(write once,run anywhere)”的特性,有效地解决了程序设计语言在不同操作系统编译时产生不同机器代码的问题,大大降低了程序开发和维护的成本。
需要注意的是,Java程序通过Java虚拟机可以实现跨平台特性,但Java虚拟机并不是跨平台的。不同操作系统上的Java虚拟机是不同的,即Windows平台上的Java虚拟机不能用在Linux平台上使用,反之亦然。
Eclipse概述
Eclipse是由蓝色巨人IBM花费巨资开发的一款功能完整且成熟的IDE集成开发环境,它是一个开源的、基于Java的可扩展开发平台,是目前最流行的Java语言开发工具之一。Eclipse具有强大的代码编排功能,可以帮助程序开发人员完成语法修正、代码修正、代码补全、信息提示等工作,大大提高了程序开发的效率。
Eclipse的设计思想是“一切皆插件”。就其本身而言,它只是一个框架和一组服务,它所有的功能都是将插件组件加入到Eclipse框架中来实现的。Eclipse作为一款优秀的开发工具,其自身附带了一个标准的插件集,其中包括了Java开发工具(JDK)。本教材后续章节的Java代码编写及运行都将采用Eclipse开发工具。在接下来的两个小节中,我们将为读者详细地讲解Eclipse工具的安装和使用。
Eclipse的安装与启动
Eclipse的安装非常简单,仅需要将下载后的压缩文件进行解压即可完成安装操作,接下来分别从安装、启动、工作台以及透视图等方面进行详细地讲解。
1.安装Eclipse开发工具
Eclipse是针对Java编程的集成开发环境(IDE),读者可以登录Eclipse官网https://www.eclipse.org/downloads/
免费下载。Eclipse安装时只需将下载好的ZIP包解压保存到指定目录下(例如D:\eclipse)就可以使用了。本教材使用的Eclipse版本是Neon.3 Release (4.6.3)。
2.启动Eclipse开发工具
完成了Eclipse的安装后,接下来就可以启动Eclipse开发工具,具体步骤如下:
(1)在Eclipse安装文件中双击运行eclipse.exe文件,接下来会出现如图1的启动界面。
(2)Eclipse启动完成后会弹出一个对话框,提示选择工作空间(Workspace),如图2所示。
工作空间用于保存Eclipse中创建的项目和相关设置。可以使用Eclipse提供的默认路径为工作空间,也可以单击【Browse...】按钮来更改路径,工作空间设置完成后,单击【OK】按钮即可。
需要注意的是,Eclipse每次启动都会出现选择工作空间的对话框,如果不想每次都选择工作空间,可以将图2中【Use this as the default and do not ask again】复选框选中(这就相当于为Eclipse工具选择了默认的工作空间),再次启动时将不再出现提示对话框。
(3)工作空间设置完成后,由于工具是第一次打开,因此会进入到Eclipse的欢迎界面,如图3所示。
在图3所示的欢迎界面中,包含了Eclipse的概述、样本、新增功能、创建新工程等链接,鼠标单击相应的链接后,即会进入相应功能。
3.Eclipse工作台
在图3中,在Eclipse欢迎界面单击关闭欢迎界面窗口,就进入了Eclipse工作台界面,Eclipse工作台主要由标题栏、菜单栏、工具栏、透视图四部分组成,如图4所示。
从图4可以看到,工作台界面上有包资源管理器视图、文本编辑器视图、大纲视图等多个区域,这些视图大多都是用来显示信息的层次结构和实现代码编辑的。下面讲解一下Eclipse工作台上几种主要视图的作用:
● Package Explorer(包资源管理器器视图):用来显示项目文件的组成结构。
● Editor(文本编辑器视图):用来编写代码的区域。
● Problems(问题视图):显示项目中的一些警告和错误。
● Console(控制台视图):显示程序运行时的输出信息、异常和错误。
● Outline(大纲视图):显示代码中类的结构。
视图可以有自己独立的菜单和工具栏,它们可以单独出现,也可以和其他视图叠放在一起,并且可以通过拖动随意改变布局的位置。
图4中处于中间位置的是文本编辑器视图(简称为文本编辑器),代码编写要在该视图区域中完成,文本编辑器具有代码提示、自动补全、撤销等功能,关于如何使用这些功能将在后面使用时进行详细讲解。
4.Eclipse透视图
透视图(Perspective)是比视图更大的一种概念,用于定义工作台窗口中视图的初始设置和布局,目的在于完成特定类型的任务或使用特定类型的资源,图4所标注的界面就是一个Java透视图。在Eclipse的开发环境中提供了几种常用的透视图,如Java透视图、资源透视图、调试透视图、小组同步透视图等。用户可以通过界面右上方的透视图按钮在不同的透视图之间切换。选择要进入的透视图,也可以在菜单栏中选择【Window】→【Perspective】→【Open Perspective】→【Other...】打开其他透视图,如图5所示。
在弹出的“Open Perspective”对话框中,可以选择用户要打开的透视图,如图6所示。
这里需要注意的是,同一时刻只能有一个透视图是活动的,该活动的透视图可以控制哪些视图显示在工作台界面上,并控制这些视图的大小和位置,在透视图中的设置更改不会影响编辑器的设置。
小提示:
如果一不小心错误的操作了透视图(Perspective),比如关闭了Console视图,这时可以通过【Window】→【Show View】来选择想要打开的Console视图。如果视图窗口过多且不方便手动调整位置时也可以重置透视图(在菜单栏选择【Window】→【Perspective】→【Reset Perspective】),如图7所示,这样就可以恢复到原始状态。
使用Eclipse进行程序开发
通过前面的学习,相信读者对Eclipse开发工具已经有了一个基本的认识,本小节将学习如何使用Eclipse完成程序的编写和运行。
在前面小节中,我们通过命令行窗口执行了一个HelloWorld程序。下面同样以该程序为例,来演示Eclipse开发工具的使用,具体步骤如下:
1.创建Java项目
在Eclipse的菜单栏中依次选择【File】→【New】→【Java Project】,或者在Package Explorer视图中单击鼠标右键,然后选择【New】→【Java Project】会出现一个“New Java Project”对话框,如图1所示。
在图1对话框中,“Project name”文本框表示项目的名称,这里将项目命名为chapter01,其余选项保持默认,然后单击【Finish】按钮完成项目的创建。这时,在Package Explorer视图中便会出现一个名称为chapter01的Java项目,如图2所示。
2.在项目下创建包
在Package Explorer视图中,鼠标右键单击chapter01项目下的src文件夹,选择【New】 → 【Package】,会出现一个“New Java Package”对话框,如图1-28所示,其中“Source folder”文本框表示项目所在的目录,“Name”文本框表示包的名称,这里将包命名为“com.itheima.first”,如图3所示。
3.创建Java类
鼠标右键单击包名,选择【New】→【Class】会出现一个“New Java Class”对话框,如图4所示。
在图4对话框中“Name”文本框表示类名,这里创建一个HelloWorld类,单击【Finish】按钮,就完成了HelloWorld类的创建。这时,在“com.itheima.first”包下就出现了一个HelloWorld.java文件,如图5所示。
创建好的HelloWorld.java文件会在编辑区域自动打开,如图6所示。
4.编写程序代码
创建完HelloWorld类后,就可以在文本编辑器里完成代码的编写工作,同样以一个main()方法和一条输出语句为例,编写后的内容如图7所示。
5.运行程序
程序编辑完成之后,鼠标右键单击Package Explorer视图中的HelloWorld.java文件,在弹出框中选择【Run As】→【Java Application】来运行程序,如图8所示。
除此之外,还可以在选中文件后,直接单击工具栏上的按钮运行程序。程序运行完毕后,会在Console视图中看到运行结果,如图9所示。
从图9可以看出,Eclipse的控制台内已经显示出了输出语句的信息。至此,也就完成了第一个Java程序在Eclipse中使用的讲解。
在Eclipse中还提供了显示代码行号的功能,使用鼠标右键单击文本编辑器中左侧的空白处,在弹出的窗口中选择【Show Line Numbers】,即可显示出行号。如图10所示。
为了便于对硬盘上的文件进行管理,通常都会将文件分目录进行存放。同理,在程序开发中,也需要将编写的类在项目中分目录存放,以便于文件管理。为此,Java引入了包(package)机制,程序可以通过声明包的方式对Java类定义目录。
Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。在声明包时,使用package语句,具体示例如下:
package cn.itcast.first; // 使用package关键字声明包,位于Java源文件的第一行
public class Example01{...}
需要注意的是,包必须在Java源文件中所有代码的前面声明,在不考虑注释和空行的情况下,它会位于源文件的第一行。
在使用Eclipse时,定义的类都是含有包名的,如果没有显式地声明package语句,创建的类会处于默认包下,在实际开发中,这种情况是不应该出现的,本教材的示例代码主要展现的是功能部分的代码,所以在大多数示例代码中没有为示例指定包名,但是在提供的源码中,都已使用包名。
在开发时,一个项目中可能会使用很多包,当一个包中的类需要调用另一个包中的类时,就需要使用import关键字引入需要的类。使用import可以在程序中一次导入某个指定包下的类,这样就不必在每次用到该类时都书写完整类名,简化了代码量。使用import关键字的具体格式如下所示:
import 包名.类名;
需要注意的是,import通常出现在package语句之后,类定义之前。如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类。
在JDK中,不同功能的类都放在不同的包中,其中Java的核心类主要放在java包及其子包下,Java扩展的大部分类都放在javax包及其子包下。为了便于后面的学习,接下来简单介绍Java语言中的常用包。
● java.util:包含Java中大量工具类、集合类等,例如Arrays、List、Set等。
● java.net:包含Java网络编程相关的类和接口。
● java.io:包含了Java输入、输出有关的类和接口。
● java.awt:包含用于构建图形界面(GUI)的相关类和接口。
除了上面提到的常用包,JDK中还有很多其他的包,比如数据库编程的java.sql包、编写GUI的javax.swing包等,JDK中所有包中的类构成了Java类库。在以后的章节中,这些包中的类和接口将逐渐介绍,这里只需要有个大致了解即可。
(未完,持续更新....)