第一部分 任务驱动课程模块
第1章 熟悉Java开发环境
驱动项目——我的第一个Java程序
1.1 搭建Java开发环境
工作目标
本节你将学习:
● Java的历史、特色和运行机制;
● JDK的安装与环境变量的配置。
工作描述
Java开发环境搭建,包括了解Java的发展历史和Java的三个版本、JDK的下载、JDK的安装和环境变量的配置。
工作分解-理论阐述
1.1.1 Java的由来与特点
Java是由美国Sun公司开发的新一代面向对象编程语言。它的底层由C++语言开发,在与网络的融合中,显现了强大生命力和广阔的前景。Java的语法简练,比较容易学习和掌握,使用它可在各种不同机器、不同操作平台的网络环境中开发软件。
1.Java的由来
SUN公司在1991年准备开发一个机顶盒的项目,能够将用户的请求发送到电视台,电视台再将节目发送给用户,实现点播的功能。
这个机顶盒能够转发用户的请求,那么这里面就应该有一个芯片,小组考虑到开发出来需要2~3年的时间,要是到时候没有芯片了怎么办?这个问题是IBM在芯片8096上引起广大开发商重视的。IBM的51芯片曾经取得了很大的成功,后来IBM开发了16位的8096芯片,性能比51芯片更优越,于是许多公司开始开发基于8096的产品,但当各大研发公司万事俱备就等IBM的8096芯片时,IBM突然说不再生产这种芯片了,使这些公司损失很大。以后研发时都把这个问题列在开发产品时必须考虑的风险中。James Gosling提出了一个建议:开发一个解释器,设计一种语言,而解释器可以根据不同的芯片设计执行这种语言。这样就使得开发工作的开始就不用与硬件打交道,这种解释器能够在SUN的Solaris平台上运行,等开发完成后,针对要使用的芯片设计一种解释器就可以了。三年之后,也就是1994年,这种机顶盒设计出来了,而那种语言取名为OAK(橡树,别墅旁边有一棵橡树,James Gosling每天早上起来都能看到它,所以命名OAK)。但等到SUN公司向电视台推销这种产品的时候,电视台却不认可这种装置,SUN的这个项目只能以失败告终。后来,James Gosling想到,既然HTML可以在各种浏览器里运行,那么可不可以把这种语言嵌入浏览器里,开发一种新的浏览器,不仅能显示静态的HTML页面,还能够执行程序。
1995年,SUN公司和好莱坞开展了一个技术交流会,借以宣传公司的产品。James Gosling带着他们的OAK系统来到了技术交流会,但不能再用OAK这个名字了。因为OAK已经被一家半导体公司注册,所以只能换名。James Gosling又四处观望寻找灵感,他看到了一个泡咖啡的杯子,杯子上印着Java(印度尼西亚的爪哇岛,以生产咖啡著名),James Gosling就把这种语言改名为Java。Java语言在交流会上大获成功。网景公司(一家著名的开发互联网浏览器的公司)找到了SUN公司,想把Java语言嵌入到其Netspace浏览器中,而当时Netspace浏览器在市场上占据了95%的份额(IE浏览器那时还是“小不点”)。1995年5月23日,SUN宣布Java语言正式诞生,自此,5月23日成了Java的生日,而项目组领导James Gosling就成了Java之父(见图1-1)。
图1-1 Java之父James Gosling
Java语言一推出,便以其在网络编程上的独特优势赢得许多著名公司的青睐,得到Netscape,IBM,Microsoft,Oracle等大公司的支持,Java迅速得到推广。1996年,Sun公司成立了维护Java的Javasoft分公司,Java图标如图1-2所示。
图1-2 Java图标
随着Java技术的不断发展,它根据市场进一步细分为:针对企业应用的J2EE(Java 2 Enterprise Edition)企业版、针对普通桌面应用软件的J2SE(Java 2 Standard Edition)标准版和针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)微型版三个版本。
2.Java语言的特点
Java语言是一种高级的(High Level)、通用的(General Purpose)、面向对象的(Object Oriented)程序设计语言。其语法与C或C++类似,但在组织结构上却截然不同。它是一种完全面向对象的程序设计语言,其程序的基本处理单位是类。不仅如此,在设计Java的时候也倾向于把它设计成一种具有生产力的语言,而不只是研究性的语言,所以在学习运用Java语言的时候,能很快地感受到它的便利与强大功能。
Java是一种简单的、面向对象的、分布式处理的、解释的、健壮的、安全的、结构中立的、可移植的、高性能的、多线程的、动态的语言。下面分别介绍这些特点。
1)简单的特性
Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下几方面。
● 系统精简但功能齐备。对Java而言,其基本解释器只有40KB左右,加上标准类库和线程的支持也只有210KB左右,可谓短小精悍,但功能毫不逊色,对面向对象、多线程和多媒体都提供了全面的支持。
● Java的风格类似于C++,因而对于C++程序员而言非常容易掌握Java技术。
● Java摒弃了C++中容易引发程序错误的地方,如指针操作和内存管理等。
● Java提供了丰富的类库。
2)面向对象的特性
面向对象可以说是Java最重要的特性。Java语言完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。
3)分布式处理的特性
Java提供了广泛的类库,可处理像HTTP和FTP这样的TCP/IP。Java应用程序可通过一个特定的URL来打开并访问网络资源对象,就像访问本地文件系统那样简单。
4)健壮特性
Java在编译和运行程序时都要对可能出现的问题进行检查。类型检查可以帮助检查出许多开发早期出现的错误。Java提供自动垃圾收集机制来进行内存管理,减小了内存出错的可能性。Java提供面向对象的异常处理机制,在编译时能进行空指针检测、数组边界检测、异常出口字节代码校验等。
5)结构中立的特性
为了使Java能独立于不同的网络中的平台,Java将它的程序编译成一种结构中立的中间文件格式。有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的字节代码,只要安装了Java运行系统,Java程序就可以在任意处理器上运行。
6)安全特性
Java的安全性可从以下四个方面得到保证。
(1)Java语言自身提供的安全。在Java语言里,像指针和释放内存等C++的功能被封装,避免了非法内存操作。
(2)编译器提供的安全。当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java代码在机器上执行前,要经过很多次检测。它需要通过代码校验、检查代码段的格式、检测指针操作、检测对象操作是否过分及是否正试图改变一个对象的类型等测试。
(3)字节码校验。字节码校验器对程序中的代码进行四趟扫描,如果字节代码通过代码校验没有返回错误,代码没有堆栈上溢出和下溢出,所有操作代码参数类型都是正确的,并且没有发生非法数据转换(如将整数转换成指针),访问对象操作是合法的,等等,才允许代码运行。
(4)类装载。由类装载器把一个类装入Java虚拟机中,类装载将本机中的类与网络资源类的名称分开,来保持安全性。因为调入类时总要经过检查校验,这样避免了特洛伊木马现象的出现。
7)可移植的特性
与体系结构无关的特性使Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。通过定义独立于平台的基本数据类型及其运算,Java数据得以在任何硬件平台上保持一致。另外,Java的编译器由Java语言实现,解释器由标准C语言实现,因此Java本身也具有可移植性。
8)解释的特性
Java编译器将Java源文件编译生成类文件,扩展名为.class,类文件可通过Java命令加载、解释和执行,将Java字节码转换为机器可执行代码。Java解释器(运行系统)能直接运行目标代码指令。
9)高性能的特性
如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟可调用300000个进程,翻译目标代码的速度与C/C++的性能没什么区别。使用“实时(Just In Time)”编译器,也称为JIT编译器,可以提高Java代码的执行速度。Sun公司在Java2发行版中提供了JIT编译器,JIT编译器是Java虚拟机的一部分。JIT的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。
10)多线程的特性
Java语言内置多线程的功能,使得在一个程序里可同时执行多个小任务。多线程带来的更大的好处是更好的交互性能和实时控制性能。
11)动态的特性
Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行时所需要的类,这是C++语言无法实现的。
Java自身的设计使它适用于一个不断发展的环境。在Java类库中可以自由加入新的方法和实例变量而不会影响用户程序的执行。
3.Java的运行机制
1)Java虚拟机
Java虚拟机(JVM)是软件模拟的计算机,可以在任何处理器上(无论是在计算机中还是在其他电子设备中)安全并兼容地执行保存在.class文件中的字节码。.class文件有时也称为字节码文件。
Java程序的跨平台性主要是指字节码文件可以在任何具有Java虚拟机的计算机或其他电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成特定的机器码进行运行。Java源程序需要通过编译器编译成为.class文件(字节码文件),Java程序的编译和执行过程如图1-3所示。
图1-3 Java程序的编译和执行过程
注意:Java虚拟机的建立需要针对不同的软、硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类。Java的平台性如图1-4所示,目前在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上,在UNIX,Linux,Windows和部分实时操作系统上都有其不同的Java虚拟机。
图1-4 Java的平台性
2)垃圾内存自动回收机制
在程序的执行过程中,部分内存在使用过后就处于废弃状态,如果不及时进行无用内存的回收,就会导致内存泄漏,进而导致系统崩溃。
在C++语言中,是由程序员进行内存回收的,程序员需要在编写程序的时候把不再使用的对象内存释放掉,但是这种人为的管理内存释放的方法却往往由于程序员的疏忽而致使内存无法回收,同时也增加了程序员的工作量。而在Java运行环境中,始终存在着一个系统级的线程,专门跟踪内存的使用情况,定期检测出不再使用的内存并进行自动回收,避免了内存的泄漏,也减轻了程序员的工作量。
但是Java的垃圾内存自动回收机制也存在缺点,那就是由于始终存在这个系统级的线程在运行,将会影响到Java应用的运行性能。
1.1.2 Java开发环境与开发工具包
Java开发工具包(JDK,Java Development Kit)是整个Java的核心,包括了Java运行环境(JRE,Java Runtime Envirnment)、Java工具和Java基础的类库(rt.jar)。JDK是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。不论什么Java应用服务器,实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,如IBM公司开发的JDK、BEA公司的Jrocket、GNU组织开发的JDK等。
1.Java SDK目前版本
J2SE(Java2标准版),提供了基础Java开发工具、执行环境与API(应用程序接口)。
J2EE(Java2企业版),它是由Sun公司所提出的一组技术规格,规划了企业用户以Java2技术开发、分发、管理多层式应用结构,一般用于Web程序开发。
J2ME(Java2微型版),适用于消费性电子产品,提供嵌入式系统所使用的Java开发工具、执行环境与API。
2.JDK目录结构
安装好后的JDK目录如图1-5所示。
图1-5 JDK目录结构
bin目录:存放一些开发工具,这些开发工具能够帮助开发、执行、调试Java程序。
jar目录:是Java2 SDK的运行环境,包括虚拟机、类库和其他支持Java程序运行的文件。
lib目录:包含开发工具所需要的附加类库和支持文件。
demo目录:包含带有源文件的Java平台的一些例子可供学习,包括使用Swing、Java的基础类和Java平台调试结构的例子。
include目录:包含一些H头文件,提供了开发接口给编程者使用。
src.zip文件:包括组成Java2核心的API的一些Java程序设计语言的源文件。这些源代码只用来提供一些信息支持,以帮助开发者学习和使用。
工作分解-操作方案
1.JDK的下载。
2.JDK的安装。
3.环境变量的配置JAVA_HOME、CLASSPATH、PATH。
工作实施
1.JDK的下载。
从Sun公司的网络下载JDK。Sun公司的JDK版本升级速度快,我们应该知道官方的最新版本JDK在哪里能够下载。目前JDK版本是6.0(也许读者读到这里时又升级了),我们可在http://Java.sun.com官方网站下载。下载过程如下。
(1)先进入Java.sun.com首页,再单击右侧“popular Downloads”下的“Java SE”进入下一页面,如图1-6所示。
图1-6 官方网站下载
(2)进入到Java SE下载页面后,单击“JDK6 Update 6”界面中的“Download”按钮到下一页,如图1-7所示。
图1-7 进入到Java SE下载页面
(3)进入到“Java SE Development Kit 6u6 First Customer Ship”页面后,在“Platform”右侧的下拉列表框选中“Windows”;选中“I agree to the Java SE Development Kit 6 License Agreement”前面的复选框,然后单击“Continue”按钮继续,如图1-8所示。
图1-8 “Java SE Development Kit 6u6 First Customer Ship”页面
(4)进入到“Download Java SE Development Kit 6u6 First Customer Ship for Windows,Multi-language”页面后,单击“jdk-6u6-windows-i586-p.exe”即可实现下载,如图1-9所示。
图1-9 “Download Java SE Development Kit 6u6 First Customer Ship for Windows,Multi-language”页面
2.JDK的安装。
(1)运行“jdk-6u6-windows-i586-p.exe”,打开JDK安装程序。
(2)进入许可证界面,单击“接受”按钮,如图1-10所示。
图1-10 JDK的安装-接受许可
(3)进入“自定义安装”界面,单击“更改”按钮可以设定安装路径,一般情况下我们都默认本安装路径并单击“下一步”按钮,如图1-11所示。
图1-11 JDK的安装-自定义安装
(4)程序进入安装界面,如图1-12所示。
图1-12 JDK的安装-正在安装
(5)程序安装完毕后进入“安装完成”界面,单击“完成”按钮,结束安装,如图1-13所示。现在你可以在C:\Program Files\Java\jdk1.6.0下见到一些子目录和一些文件,如有bin、lib、jre目录等。
图1-13 JDK的安装-安装完成
重要提示:
bin目录下是一些常用的命令工具,lib下是一些常用的工具包,jre目录下是一些运行时环境文件。
3.环境变量的配置JAVA_HOME、CLASSPATH、PATH。
(1)单击“我的电脑→属性”进入“系统属性”对话框,选择“高级”选项卡,单击“环境变量”按钮,如图1-14所示。
图1-14 配置环境变量-系统属性
(2)弹出“环境变量”对话框,如图1-15所示。
图1-15 “环境变量”对话框
(3)添加JAVA_HOME环境变量,在“新建系统变量”窗体中的“系统变量”中单击“新建”按钮,弹出“新建系统变量”对话框,在“变量名”文本框中输入“JAVA_HOME”,在“变量值”文本框中输入JDK的安装路径“C:\Program Files\Java\jdk1.6.0”,如图1-16所示。
图1-16 新建系统变量JAVA_HOME
(4)添加CLASSPATH环境变量,在“新建系统变量”窗体中的“系统变量”中单击“新建”按钮,弹出“新建系统变量”对话框,在“变量名”本文框中输入“CLASSPATH”,在变量值文本框中输入“.;% JAVA_HOME %\lib\tools.jar”,如图1-17所示。
图1-17 新建系统变量CLASSPATH
注意:% JAVA_HOME %就是我们在图1-16中创建的变量的使用。
(5)修改PATH环境变量配置,在“系统变量”窗体中找到Path变量,然后单击“编辑”按钮,保持原来的变量值不变,然后在后边添加“;C:\Program Files\Java\jdk1.6.0\bin”。
1.2 使用文本编辑器开发HelloWorld程序
工作目标
本节你将学习:
● 验证JDK的安装与环境变量的配置是否正确;
● 了解在dos命令行窗口个中编译执行Java程序的过程。
工作描述
使用文本编辑器编写HelloWorld程序,然后在dos命令行窗口中编译执行HelloWorld程序,在执行程序的过程中验证环境变量配置是否正确。
工作分解-理论阐述
1.2.1 Java开发工具简介
在计算机开发语言的历史中,从来没有哪种语言像Java那样受到如此众多厂商的支持、有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该如何选择。的确,这些工具各有所长,没有绝对完美的。本节简要介绍常见的几种Java开发工具的特点,“管中窥豹”,希望能对大家有所帮助。
1.JDK(Java Development Kit,Java开发工具集)
从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE及J2ME)版本的升级而升级。但它的缺点也是非常明显的,即从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。
2.JCreator
JCreator是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论开发Java应用程序还是网页上的Applet元件都难不倒它。与Sun公司所公布的JDK等文字模式开发工具相比,在功能上比较简单,同时还允许使用者自定义操作窗口界面及无限undo/redo等功能。JCreator为用户提供了相当强大的功能。例如,项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能,以及完全可自定义的用户界面。通过JCreator,不用激活主文档就可以直接编绎或运行Java程序。JCreator能自动找到包含主函数的文件或包含Applet的HTML文件,然后它会运行适当的工具。在JCreator中,可以通过一个批处理同时编绎多个项目。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其他任何一款IDE所不能比拟的。它是一种初学者很容易上手的Java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。
3.Borland的JBuilder
JBuilder是Borland公司推出的Java集成开发环境,它能满足很多方面的应用需求,尤其是对于服务器及EJB开发者来说,JBuilder是非常实用的。JBuilder支持最新的Java技术,非常有利于高效的团队开发,JBuilder的集成开发环境非常灵活并具有可扩展性,简化了大型分散开发团队的源代码的并发管理。
JBuilder是一个灵活开发的IDE架构,可以使用开发工具API将一些附加的或第三方工具紧密地集成到JBuilder环境中,扩展IDE的功能。
它的最大缺点就是软件收费,并且价格相对很高,在Eclipse这样的免费工具的打压下,市场正在逐步萎缩。
4.Eclipse
Eclipse是一个非常优秀的IDE,是IBM花了多年时间开发的基于Java的公开源代码软件,公开源代码就代表着免费。它是一个用于构建集成Web和应用程序开发工具的平台,本身不会提供大量的最终用户功能,而是通过很多公开源代码插件来快速开发的。
Eclipse被设计成可以在多个操作系统上运行,因此可以省去开发者有时要把Windows应用程序切换到Linux的操作,进而简化了整个开发过程。Eclipse的核心是动态发现插件的体系结构——在安装插件时只需要把插件复制到插件目录,重启Eclipse就可以使用该插件。
5.NetBeans与Sun Java Studio 5
NetBeans是开放源码的Java集成开发环境,是Sun开发的IDE。适用于各种客户机和Web应用。Sun Java Studio是Sun公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Windows平台,适于创建和部署2层Java Web应用和n层J2EE应用的企业开发人员使用。
NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块化结构,第三方能够非常轻松地扩展或集成NetBeans平台。
NetBeans 3.5.1主要针对一般的Java软件开发者,而Java One Studio 5则主要针对企业做网络服务等应用的开发者。Sun不久还将推出Project Rave,其目标是帮助企业的开发者进行软件开发。
NetBeans 3.5.1版本与其他开发工具相比,最大区别在于其不仅能够开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,还可以开发基于J2ME的移动设备上的应用等。在NetBeans 3.5.1基础上,Sun开发出了Java One Studio 5,为用户提供了一个更加先进的企业编程环境。
在新的Java One Studio 5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程序。
工作分解-操作方案
1.在记事本中编写代码,并以HelloWorld.Java命名保存文件(如保存在D盘根目录下)。
2.打开控制台。
3.在控制台中编译源代码。
4.在控制台中运行程序。
工作实施
1.在记事本中编写代码,并以HelloWorld.Java命名保存文件(如保存在D盘根目录下)。
/* * 定义一个名叫HelloWorld的类 */ public class HelloWorld { public static void main(String[] args) {//主函数,程序入口 System.out.println("Hello World"); //打印语句,括号里的字符串 } }
2.打开控制台。
依次单击:开始→程序→运行→输入cmd回车,即可进入控制台
3.在控制台中编译源代码。
在控制台中输入:
Javac D:\HelloWorld.Java
注意:在做这一步的时候要注意文件名的大小写一定要与实际文件名一致。
进行编译,编译成功后将产生一个字节码文件“HelloWorld.class”。
4.在控制台中运行程序。
在控制台中输入:
D: Java HelloWorld
运行成功后将在控制台窗口中显示“HelloWorld”字样,如果出现问题请重新检查环境变量JAVA_HOME,PATH,CLASSPATH配置是否正确。
1.3 使用MyEclipse开发HelloWorld程序
工作目标
本节你将学习:
● 了解常用的集成开发环境及工具,熟悉MyEclipse;
● 使用集成开发工具MyEclipse编写、调试、运行第一个Java程序。
工作描述
使用MyEclipse开发HelloWorld程序:在MyEclipse中编写、调试、运行程序,并在MyEclipse的控制台窗口中查看运行结果。
工作分解-理论阐述
1.3.1 MyEclipse的使用
下面以开发“HelloWorld”程序为例进行讲解。
由于MyEclipse=Eclipse+更多的插件,因此,为方便使用,MyEclipse受到了越来越多的应用(不过MyEclipse是要收费的)。以后我们的开发都采用MyEclipse讲解,所用版本是MyEclipse 6.0.1。
1.运行MyEclipse开发工具
开始→程序→MyEclipse 6.0→MyEclipse 6.0.1,然后请稍等。
2.选择工作目录
启动MyEclipse 6.0.1后,出现工作目录对话框,选择工作目录,如图1-18所示。
图1-18 选择工作目录
Workspace指明用户的工作空间,如现在的工作空间在d:\myeclipse\workspace,即随后开发的程序就放到此工作空间下。单击“OK”按钮,出现欢迎界面,如图1-19所示。
图1-19 欢迎界面
3.创建Java project工程
创建工程的过程如下。
单击菜单栏中的File(文件)→New(新建)→Java Project(Java工程),如图1-20所示。
图1-20 创建工程菜单
在所弹出的对话框中的“Project name”文本框中输入一个有意义的项目名,如输入“HelloWorld”,其他不变,按“Finish”按钮完成,这样,一个Java工程就建好了,如图1-21所示。
图1-21 创建工程对话框
4.向工程中添加类
类是面向对象编程的基本单元。创建类的过程如下:
单击菜单栏中的File→New→Class(类),如图1-22所示。
图1-22 创建类的菜单
在所弹出对话框中的“Name”文本框中输入类的名字,类名如人名一样有规则,我们一般用一些有意义的英文单词表示,并且大写首字母,这在今后还会讲(这个类取名为HelloWorld)。然后按“Finish”按钮,如图1-23所示。
图1-23 创建类对话框
注意:类的命名规则要求开头的字母大写,否则MyEclipse会在这里给出警告信息。
创建好类后,我们获得了如下的类。其中main(String[] args)是主方法,是所有Java应用程序运行的起点。
public class Helloword { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } }
改写代码如下:
public class Helloword { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Hello World"); } }
5.运行程序
完成类的代码编写后,就可以编译运行程序了,选中要运行的源程序(如HelloWorld),依次单击Run→Run As→Java Application,如图1-24所示。
图1-24 编译运行程序的菜单
6.查看结果
界面下方的“Console”中输出了“Hello World”,如图1-25所示。
图1-25 查看结果
1.3.2 MyEclipse的一些常用技巧
1.格式化源代码
有时候手写的代码很乱,这时候可以先选中要格式化的代码(如果不选择则默认为格式化当前文件的所有代码),通过选择菜单Source→Format或在编辑器中右击选择菜单Source→Format或通过快捷键Ctrl+Shift+F来快速将代码格式化成便于阅读的格式。这个操作在MyEclipse中也可以格式化XML、JSP、HTML等源文件。
2.注释和取消注释
使用快捷键Ctrl+/可以将选中的代码快速地添加或去掉两个斜线(//)风格的注释。
3.设置显示行号
在默认情况下,Eclipse的代码编辑器是不显示行号的,要显示它可以通过菜单Window→Preferences…来打开“Preferences设置”对话框,几乎所有Eclipse的设置选项都可以在这里找到。要显示行号,可以展开节点General→Editors→Text Editors,在右侧的设置中选中“Show line numbers”复选框即可,如图1-26所示。
图1-26 显示行号
然而,最快的方式还是右击编辑器隔条(最左侧栏),在弹出的快捷菜单上选中“Show Line Numbers”复选框即可,之后就可以看到行号了,此过程如图1-27所示。显示了行号的编辑器如图1-27所示。
图1-27 通过编辑器隔条右键单击显示行号
4.设置断点
双击源代码的隔条可以切换是否在当前行设置断点(break point),断点以小蓝点的形式显示,如图1-28中左侧所示。
图1-28 断点
重要提示:
断点通常是为调试设计的,如果在调试技能不熟练的情况下请初学者不要随意设置断点。
5.导出项目
完成项目后(如HelloWorld项目),我们可以导出整个项目,以便我们可以在其他的地方继续使用这个项目。具体步骤如下。
单击菜单File→Export,然后在弹出的“Export”对话框中展开“General”目录,选择“Archive File”,接着单击“Next”按钮。然后在“To archive file”输出框中选中要保存的文件名,一般写成项目名.zip,然后单击“Finish”按钮即可导出当前项目。还有一种方式,是手工打包,用WinRAR或WinZIP等工具都可以实现,先打开项目所在目录,接着就可以用所喜欢的工具来打包代码目录了。
6.导入项目
当有包含Eclipse项目的源代码文件时,我们可以把它导入到当前的“Eclipse”工作区然后编辑和查看。单击菜单栏上的File→Import,然后在弹出的“Import”对话框中展开“General”目录,选择“Existing Projects into Workspace”,接着单击“Next”按钮。当选中“Select root directory”单选按钮时可以单击“Browse…”按钮选中包含项目的文件夹,如果包含项目,就可以在中间的“Projects”列表框中显示;而当选中“Select archive file”单选按钮时可以单击“Browse…”按钮选中包含项目的ZIP压缩包,如果包含项目,就可以在中间的“Projects”列表框中显示。最后单击“Finish”按钮即可导入项目并打开了,如图1-29所示。
图1-29 导入项目
注意:“copy projects into workspace”复选框应该选中,这样才能将工程放入工作区。
工作分解-操作方案
1.运行MyEclipse开发工具。
2.创建Java project工程。
3.向工程中添加类。
4.编写程序。
5.运行程序。
6.查看结果。
工作实施
1.运行MyEclipse开发工具:
开始→程序→MyEclipse 6.0→MyEclipse 6.0.1。
2.创建Java project工程:
单击菜单栏上的File(文件)→New(新建)→Java Project(Java工程)。在弹出的对话框中的“Project name”文本框中输入一个有意义的项目名。
3.向工程中添加类。
File→New→Class(类)。在弹出对话框中的“Name”文本框中输入类的名字,类名像人名一样有规则,我们一般用一些有意义的英文单词表示,并且首字母大写,这在今后还会讲。再选中“public static void main(String[] args)”前面的复选框,然后按“Finish”按钮。
4.编写程序。
在main方法的花括号“{}”内添加如下语句:
System.out.println("Hello World");
该语句的作用是向控制台输出“Hello World”。
5.运行程序:
Run→Run As→Java Application。
6.查看结果:
“Console”控制台中输出了“Hello World”。
1.4 巩固与提高
1.选择题
(1)下列特点中,哪个是Java虚拟机执行的特点之一?( )
A.字节代码
B.多进程
C.静态连接
D.编译
(2)Java语言的许多特点中,下列哪个特点是C++语言所不具备的?( )
A.高性能
B.跨平台
C.面向对象
D.有类库
(3)在Java语言中有多种实现的机制,下列哪种技术属于垃圾回收机制?( )
A.字节编译
B.内存跟踪
C.语法检查
D.堆栈上/下溢检查
(4)下面哪个是Java语言的编译工具?( )
A.Javac
B.Java
C.jalap
D.Javadoc
(5)Java平台是由哪些部分组成的?( )
A.Java虚拟机和Java编译器
B.Java应用程序编程接口和Java虚拟机
C.Java编译器和Java解释器
D.Java应用程序编程接口和解释器
2.填空题
(1)由于Java语言的________________特性,所以采用Java编写的应用程序一般都有“一次编写,到处运行”的效果。
(2)每个Java应用程序可以包含许多方法,但必须有且只有一个________________方法。
(3)Java程序源程序的扩展名是________________,经过解释后生成的文件的扩展名是________________。
(4).class文件存放的是________________。