JAVA教程第1章概述何永太1doc.docx
《JAVA教程第1章概述何永太1doc.docx》由会员分享,可在线阅读,更多相关《JAVA教程第1章概述何永太1doc.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA教程第1章概述何永太1doc
第1章JAVA语言概论
知识点1JAVA语言的发展过程
Java语言最早诞生于1991年,刚开始它只是Sun公司为一些消费性电子产品所设计的通用环境。
因为当时Java的应用对象只限于PDA、电子游戏机、电视机顶盒之类的消费性电子产品,所以并未被众多的编程技术人员所接受。
在Java出现以前,Internet上的信息内容都是一些静态的HTML文档。
正是因为在Web中看不到交互式的内容,所以人们很不满意当时的Web浏览器,他们迫切希望能够在Web上创建一类无须考虑软、硬件平台就可以执行的应用程序,并且这些程序还要有极大的安全保障。
正是由于这种需求给Java带来了前所未有的施展舞台。
Sun的工程师从1994年起把Java技术应用于Web上,并且开发出了HotJava的第一个版本。
于是,Java的名字逐渐变得广为人知。
Java在SunWorld95中被正式发布。
Java的“WriteOnce,RunAnywhere(一次编写,处处运行)”口号使得Java一出现就引起了广泛的注意,用Java技术开发的软件可以不用修改或重新编译就可直接应用于任何计算机上。
从此以后,Java随着网络的快速发展,而成为一个应用最广泛的程序语言。
“网络即是计算机”是Sun公司的格言。
一时间,使用Java技术进行软件开发成为广大技术人员的一种时尚。
到2010年4月为止,Java已经发布了一系列的版本,目前最新版本为JDK7.0(1.7.0)预览版。
知识点2JAVA的工作原理及特点
Java是一种高级的、通用的、面向对象的、适用于网络环境的程序设计语言,同时它又是一种计算平台,为程序的运行提供一个统一通用的环境,屏蔽底层的操作系统及硬件环境的差异性。
1.Java程序的处理过程
一个Java程序的运行必须经过编写、编译、运行三个步骤。
编写是指在某个Java语言开发环境中进行程序代码的输入与编辑,最终形成后缀名为.java的Java源文件。
编译是指使用Java编译器(javac命令)把源文件翻译成二进制代码的过程,这期间也进行语法级别错误和引用错误的排查,编译后将生成后缀名为.class的字节码文件。
该字节码文件并不是一个可以直接运行的文件。
运行是指使用Java解释器将字节码文件翻译成机器代码,执行并得到运行结果。
这一过程如图1.1所示。
2.Java字节码
字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。
编程人员和计算机都无法直接读懂字节码文件,它必须由专用的Java解释器来解释执行,因此Java是一种在编译基础上进行解释运行的语言。
3.Java虚拟机(JVM)
Java解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。
因此Java程序不能直接运行在现有的操作系统平台上,它必须运行在被称为Java虚拟机的软件平台之上。
Java虚拟机(JVM)是驻留于计算机内存的虚拟计算机或逻辑计算机,实际上是一段负责解释并执行Java字节码的程序。
Java解释器只是Java虚拟机的一部分。
在运行Java程序时,首先会启动JVM,然后由它来负责解释执行Java的字节码,并且Java字节码只能运行于JVM之上。
这样利用JVM就可以把Java字节码程序和具体的硬件平台以及操作系统环境分隔开来,只要在不同的计算机上安装了针对于特定具体平台的JVM,Java程序就可以运行,而不用考虑当前具体的硬件平台及操作系统环境,也不用考虑字节码文件是在何种平台上生成的。
JVM把这种不同软硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。
JVM是Java平台无关的基础,Java的跨平台特性正是通过在JVM中运行Java程序实现的。
Java的这种运行机制可以通过图1.2说明。
Java语言这种“WriteOnce,RunAnywhere”的方式,有效地解决了目前大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题,即硬件环境和操作平台的异构问题,大大降低了程序开发、维护和管理的开销。
需要注意的是,Java程序通过JVM可以达到跨平台特性,但JVM是不跨平台的。
也就是说,不同操作系统之上的JVM是不同的,Windows平台之上的JVM不能用在Linux上面,反之亦然。
4.垃圾回收
Java虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。
其中一个是非垃圾回收堆内存,用于存储所有类的定义、常量池和方法表。
另一个堆内存再分为两个可以根据要求往不同方向扩展的小块。
用于垃圾回收的算法适用于存放在动态堆内存中的对象。
垃圾回收器将在回收对象实例之前调用finalize()方法。
即使显示调用垃圾回收方法(System.gc()),也不能保证立即运行,这是因为垃圾回收线程的运行优先级很低可能经常会被中断。
知识点3JAVASDK的安装与配置
若要编写Java程序,就需要开发工具。
现在可用于开发Java程序的工具很多,JavaSDK是Sun公司(现被Oracle收购)提供的免费开发工具集。
JavaSDK的意思是JavaSoftwareDevelopmentKit,即Java软件开发工具包,也称为JDK。
截止2010年4月,提供下载的JavaSDK标准版软件最新版本为1.6Update20(JDK1.7预览版也已发布),有不同操作系统的不同版本。
下面介绍在WindowsXP操作系统下安装和配置JavaSDK的过程。
1.下载并安装JavaSDK开发工具
JavaSDK目前有以下几个版本:
JavaSE(JavaPlatform,StandardEdition):
即通常所说的Java平台标准版,提供基础Java开发工具、执行环境与API(ApplicationProgramInterface)。
JavaME(JavaPlatform,MicroEdition):
Java平台微型版,适用于消费性电子产品,提供嵌入式系统所使用的Java开发工具、执行环境与API。
JavaEE(JavaPlatform,EnterpriseEdition):
Java平台企业版,它是由Sun公司所提出的一组技术规格,规划企业用户以Java技术开发、分发、管理多层式应用结构。
作为学习Java语言和一般的应用开发,使用JavaSE版本足够了,本书采用的是JavaSDK1.6版本。
可以从Sun公司网站上下载,下载网站是:
进入下载页面后,按网页提示进行操作,下载后的文件名称类似于jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe,不同更新版本的文件名可能有点差别。
具体安装步骤如下:
(1)双击运行下载后的安装文件。
在弹出的关于许可证协议的对话框中,单击“接受”按钮,接受许可证协议,否则不能安装。
(2)在弹出的“自定义安装”对话框中,选择JDK的安装路径。
单击“更改”按钮可更改安装路径。
为加快安装速度,JavaDB、公共JRE、源代码等选项可不安装,但开发工具选项是必需的。
如图1.4所示。
(3)单击图1.4中的“下一步”按钮,开始安装。
如果在图1.4中选择了安装公共JRE,则在安装的过程中还会弹出另一个“自定义安装”对话框提示用户选择Java运行时环境的安装路径,其操作过程与图1.4界面类似。
(4)最后单击“完成”按钮完成JDK的安装。
在默认情况下,安装后会在C盘“ProgramFiles”文件夹下产生如图1.4所示的文件夹结构,其中:
bin文件夹下包含一些开发工具,这些开发工具能够帮助开发、执行、调试以及文档化Java程序。
jre文件夹下包含Java虚拟机、类库和其他支持Java程序运行的文件。
lib文件夹下包含开发工具所需要的附加类库和支持文件。
demo文件夹下带有Java源文件的例子,这些例子包括使用Swing、Java的基础类和Java平台调试结构的例子。
图1.3JDK下载地址
图1.4选择JDK安装路径
图1.5JavaSDK安装文件夹结构
2.JDK的配置与测试
JDK安装完成后,需要设置环境变量及测试JDK配置是否成功,具体步骤如下:
(1)在Windows系统桌面上右键单击“我的电脑”图标,选择“属性”菜单项。
在弹出的“系统属性”对话框中选择“高级”选项卡,然后单击“环境变量”按钮,将弹出“环境变量”对话框。
(2)在“环境变量”对话框指哪个,单击“系统变量”区域中的“新建”按钮,将弹出“新建系统变量”对话框。
(3)在“新建系统变量”对话框中,在“变量名”文本框中输入“JAVA_HOME”,在“变量值”文本框中输入JDK的安装路径“C:
\ProgramFiles\Java\jdk1.6.0_10”,如图1.6所示。
最后单击“确定”按钮,完成变量JAVA_HOME的创建。
(4)查看是否存在Path变量,若存在,则编辑该变量,在变量值后追加“;%JAVA_HOME%\bin”,如图1.7所示;若不存在,则新建该变量,并设置变量值为“%JAVA_HOME%\bin”。
(5)查看是否存在Classpath变量,若存在,则在变量值后加入:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
若不存在,则创建该变量,并设置同上的变量值。
图1.6创建JAVA_HOME变量
图1.7编辑Path变量
(6)测试JDK的安装和配置是否成功。
依次单击“开始”按钮,单击“运行”菜单项,在弹出的“运行”对话框中输入“cmd”命令,进入命令提示符窗口。
进入任意目录下输入“javac”命令,按键执行该命令,系统会输入javac命令的使用帮助信息,如图1.8所示。
这说明JDK安装配置成功,否则需要检查上面各步骤的操作是否正确。
图1.8显示javac命令的使用帮助
知识点4Eclipse的安装与使用
Eclipse是一个基于Java的、开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境(IntegratedDevelopmentEnvironment,IDE)。
它是一个可以用于构建集成Web和应用程序开发工具的平台。
1.Eclipse的安装与启动
在Eclipse的官方网站http:
//ww.eclipse.org可下载Eclipse的最新版本,下载后的文件一般为一个zip格式的压缩文件。
(1)将下载后的压缩文件解压后,双击eclipse.exe文件就可启动Eclipse。
(2)解压完成后,启动的Eclipse是英文版的,可以通过安装Eclipse的多国语言包,实现Eclipse的本地化。
多国语言包可从Eclipse官方网站进行下载。
具体的Eclipse汉化步骤请参看相关文献。
(3)每次启动Eclipse时,都需要设置工作空间,工作空间用来存放创建的项目。
如图1.9所示。
单击“Browse”按钮可选择一个存在的文件夹。
可通过勾选“Usethisasthedefaultanddonotaskagain”选项屏蔽该对话框。
(4)最后单击“OK”按钮,若是初次进入在第(3)步骤中选择的工作空间,则出现Eclipse欢迎界面,如图1.10所示。
图1.9启动Eclipse时设置工作空间
1.10Eclipse的欢迎界面
2.Eclipse的使用
(1)Eclipse3.2开发工具的常用快捷键如表1.1所示,熟悉这些快捷键可大幅提高您的工具使用效率。
表1.1Eclipse3.2开发工具中常用快捷键
快捷键
功能
F3
跳转到类或变量的声明处
Alt+/
代码提示
Alt+上下方向键
将选中的一行或多行向上或向下移动
Alt+左右方向键
跳到前一次或后一次的编辑位置,在代码跟踪时用的比较多
Ctrl+/
注释或取消注释
Ctrl+D
删除光标所在行的代码
Ctrl+K
将光标停留在变量上,按该快捷键可查找下一个同样的变量
Ctrl+Q
回到最后编辑的位置
Ctrl+Shift+K
和Ctrl+K键查找的方向相反
Ctrl+Shift+X
将所选字符转为大写
Ctrl+Shift+Y
将所选字符转为小写
Ctrl+Shift+/
注释代码块
Ctrl+Shift+\
取消注释代码块
Ctrl+Shift+M
导入未引用的包
Ctrl+Shift+D
在debug模式中显示变量值
Ctrl+Shift+T
查找工程中的类
Ctrl+Shift+Down
复制光标所在行至其下一行
鼠标双击括号(小括号、中括号、大括号)
将选择括号内的所有内容
(2)使用Eclipse开发简单的Java应用程序
下面应用Eclipse开发一个简单的Java应用程序,开发步骤如下。
①启动Eclipse,弹出如图1.9所示对话框,通过该对话框选择一个工作空间,然后单击“OK”按钮进入Eclipse开发界面,如图1.11所示。
②依次单击菜单栏中的“File”/“New”/“Project”菜单项,将弹出“新建项目”对话框,如图1.12所示。
③在图1.12所示对话框中选择“JavaProject”选项,并单击“Next”按钮。
④在弹出的“NewJavaProject”对话框中,在“ProjectName”文本框中输入你的项目名称,本例中项目名称为“MyJava”。
其他保留默认配置,如图1.13所示。
⑤单击“Finish”按钮,完成Java项目的创建,创建的项目会在Eclipse的左侧栏中进行显示,如图1.14所示。
图1.11Eclipse开发界面
图1.12新建项目对话框
图1.13配置项目对话框
图1.14创建的Java项目
图1.15添加类对话框
⑥添加一个JavaClass。
在图1.14的左侧栏“Package”中鼠标右键单击项目名“MyJava”,在弹出的快捷菜单中依次选择“New”/“Class”,弹出如图1.15所示的“NewJavaClass”对话框。
⑦图1.15中,在“Name”栏中输入要添加的类的名称,本例中我们输入“HelloApplication”。
由于本例只包含一个主类,因此在下面勾选“publicstaticvoidmain(String[]args)”选项,让Eclipse自动在类中创建main方法;若添加的不是主类,则无需勾选此选项。
其它保持不变,单击“Finish”按钮完成类文件的添加。
Eclipse会自动打开刚才添加的类文件,并且自动生成类定义和main方法定义的代码框架。
在main方法中输入【例1.1】的主方法中的代码。
最后界面如图1.16所示。
图1.16添加类及其代码后的界面
⑧运行程序。
单击工具栏
按钮,Eclipse会自动完成程序的编译和运行,本例程序运行后会在Eclipse的下方的Console窗格中显示“Helloworld!
”信息。
知识点5Java程序举例
Java程序分为应用程序(Application)和小程序(Applet)。
下面通过两个简单的Java程序的例子,来了解这两类程序的构成和特点。
5.1JavaApplication举例
【例1.1】在控制台输出信息“HelloWorld!
”的JavaApplication。
/*保存的文件名为“HelloApplication.java”*/
publicclassHelloApplication{//定义类
publicstaticvoidmain(String[]args){//main方法
System.out.println("HelloWorld!
");//在控制台输出(显示)数据
}
}
程序第1行用“/*”和“*/”包括起来以及第2行至第4行后面以“//”引导的内容称之为注释。
注释是对程序进行解释说明的文字信息。
在程序中恰当地使用注释,可增加程序的可读性,但不会对程序的编译和运行产生任何的影响。
第2行开始是类的定义,保留字class用来定义一个类,本例中其类名为HelloApplication,保留字public用来声明该类是一个公共类。
一个Java程序文件中可以定义多个类,但最多只允许有一个公共类。
程序文件名必须与这个公共类的类名保持一致。
整个类定义由“{”和“}”包括起来,其内部称之为类体。
本例中在类体中定义了一个main()方法,该方法必须用publicstaticvoid进行限定。
public指明所有类都可以访问这个方法;static指明该方法是一个类方法,可以直接通过类名进行调用;void指明该方法不返回任何值。
对于一个JavaApplication来说,main()方法是必须的,而且必须按照本例中的格式进行定义。
Java解释器在没有生成任何对象的情况下,以main()作为入口来执行程序。
因此一个可运行的JavaApplication中只能有一个按照本例格式定义的main()方法。
main()方法定义中,小括号内的String[]args是传递给main()方法的参数,args是一个数组变量,它的元素是String类的实例。
在main()方法的方法体中(由紧跟在main()后的“{”和“}”包括),只有一条语句:
System.out.println("HelloWorld!
");
其功能是控制台上显示一行字符:
HelloWorld!
5.2JavaApplet举例
【例1.2】输出信息“HelloWorld!
”的JavaApplet。
importjava.awt.Graphics;
importjava.applet.Applet;
publicclassHelloAppletextendsApplet{
publicvoidpaint(Graphicsg){
g.drawString("HelloWorld!
",10,10);
}
}
程序的第1行和第2行用import语句引入java.awt.Graphics类和java.applet.Applet类。
这是本Applet程序需要的两个类:
小程序需要继承Applet类实现;图形界面的Applet程序输出常用具有绘图功能的paint()方法,该方法需要Graphics类的参数。
与JavaApplication一样,所有的JavaApplet也都是类,且必须是Applet类的子类。
保留字extends指明HelloApplet是Applet类的子类。
在类体中,重写了父类Applet的paint()方法,其中参数g为Graphics类的对象,可以认为是用于绘图的画板。
在paint()方法中,调用对象g的方法drawString(),在坐标(10,10)出显示字符串“HelloWorld!
”,坐标是用像素点表示的。
此程序中没有main()方法,这是Applet与Application的主要区别之一。
Applet程序是不能独立运行的,必须编写HTML文件,将Applet嵌入其中,然后用appletviewer来运行,或在支持Java的浏览器上运行。
编写的HTML文件内容如下:
5.3Java程序结构
通过以上两个举例可看出,Java程序都是由类构成的。
对于一个JavaApplication程序来说,必须在一个类中定义一个main()方法。
对于JavaApplet程序来说,必须有一个类作为Applet类或JApplet类的子类,继承Applet类或JApplet类的类是小程序的主类。
1.类的个数
一个Java程序源文件中最多只能有一个public类,其他类的个数没有限制。
2.命名
如果Java程序源文件中包含了一个public类,则该源文件的文件名必须以该类的名称来命名,注意字符的大小写也要一致。
如,在例1.1和1.2中,分别包含的public类的类名为HelloApplication和HelloApplet,所以这两个原文件的文件名只能是HelloApplication.java和HelloApplet.java。
如果Java程序中没有public类,则源文件的命名没有特殊要求。
3.程序结构
package//0个或1个,包定义,必须放在文件开始
import//0个或1个,引入类,必须放在所有类定义之前
publicclass/interfaceDefinition//0个或1个,公共类或接口定义,文件名必须与该其名相同
classDefinition//0个或多个,其他类定义
interfaceDefinition//0个或多个,其他接口定义
建议:
书写原程序时,应该采取缩进方式的分层次的书写,这样有助于程序的阅读和理解,也便于程序后期的修改维护。
实训项目1开发环境搭建与Eclipse基本使用
1.实训目的与要求
掌握JavaSDK的安装与配置;掌握Eclipse的安装与简单使用。
2.实训内容
(1)Java开发工具的安装。
从官方网站下载JavaSDK1.6版本到自己的实训计算机上并安装,观察并记录下开发系统安装位置、目录的组成以及安装前后的硬盘空间的变化情况等相关信息。
(2)Java开发工具的设置与使用。
JavaSDK安装完成后,按照要求设置环境变量。
并在控制台窗口执行java和javac命令测试SDK的安装和配置是否正确。
(3)从Eclipse官方网站下载Eclipse最新版压缩包,解压后并执行Eclipse.exe文件,按老师要求设置好Workspace,使得自己的实训内容能与别人的实训内容区分开。
分别创建两个项目及相关的类,输入【例1.1】和【例1.2】程序,并运行,仔细观察运行结果。
若程序运行不通过,在老师的协助下排除错误,并详细记录下排除错误的过程。
(4)尝试执行表1.1中的组合键,认真观察现象。