




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计基础与实践 第1章 Java环境的安装、配置与运行 本章导读Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响。Java一经推出就赢得了前所未有的成功,从2001年至今,Java语言一直是世界上应用最广泛的编程语言,因此现在有越来越多的工作者、学习者正努力进入Java领域或将要努力进入Java领域,因此,学习Java语言很有必要。“工欲善其事,必先利其器”,搭建开发环境是学习语言的第一步,环境好搭建后,熟悉开发环境及简单程序的解读就是
2、学习语言的第二步了。 本章要点 Java简介 Java的特点 Java运行环境的安装与配置 Java程序结构 Java程序的运行机制和垃圾回收机制 Java程序的编写、编译和运行1.1 基础知识1.1.1 Java简介 美国硅谷有一句行话,每10年15年有一次轮回。最近的一次轮回就是从Java开始。 Java的产生 Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,Sun内部人员把这个项目称为Green,Green小组的领导人是JamesGosling,是一位非常杰出的程序员。在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异。消
3、费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器。为了使整个系统与平台无关,Gosling首先从改写C+编译器着手。但是Gosling在改写过程中感到仅C+是无法满足需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢?Gosling回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身。Java的产生 Gosling在开始写Oak时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之
4、间的通信与协同工作。Gosling在设计中采用了虚机器码(VirtualMachineCode)方式,即Oak语言编译后产生的是虚拟机,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器,这样一来,Oak就成了与平台无关语言。当Naughton加入该小组后,整个工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言(Java)、一个用户界面、一个新的硬件平台、三块专用芯片构成的。到了1994年,WWW已如火如荼地发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。于是Gos
5、ling决定用Oak开发一个新的Web浏览器。Java的产生 这项工作由Naughton和Jonathan Payne负责,到1994年秋天,完成了WebRunner的开发工作。WebRunner是HotJava的前身,这个原型系统展示了Java可能带来的广阔市场前景。WebRunner改名为HotJava,并于1995年5月23日发表后,在产业界引起了巨大的轰动,Java的地位也随之而得到肯定。又经过一年的试用和改进,Java1.0版终于在1996年年初正式发表。Java语言在叫“Java”之前名为“Oak”,橡树。一门语言怎么起到了一棵树的名字?早先开发这门语言的Green小组成员,在为还
6、在“孕期”中待产的新生语言起名时,看到了窗外的一棵橡树,就是这样一念的灵感和联想,把一门新生语言的小名落实了。可惜这个绿意的名字最终被放弃,因为在用Oak去注册商标时,发现这个名已被注册他用,于是Sun的精英们喝着咖啡编排新名,杯里的热咖啡冒着香气,顺着香气思维游荡到盛产咖啡的爪哇岛,爪哇!Java由此命名。 Java的发展 Sun继Green项目后又经过了几年的研究,终于在1995年5月23日在Sun World95上正式发布Java和HotJava浏览器。在同年,有很多公司先后获得了Java许可证,如Netscape在1995年8月,Oracle在1995年10月分别获得了Java许可证。
7、Sun在1995年发布第一个Java版本后,于1996年1月宣布成立新的业务部门JavaSoft部,这个部分主要负责开发、销售并支持基于Java技术的产品,由AlanBaratz先生任总裁。在1995年Sun虽然推出了Java,但这只是一种语言,而要想开发复杂的应用程序,必须要有一个的强大的开发库支持还行。因此,Sun在1996年1月23日发布了JDK1.0。这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK)。在运行环境中包括了核心API、集成API、用户界面API、发布技术和Java虚拟机(JVM)五个部分。而开发环境还包括了编译Java程序的编译器(即javac)。在JDK1
8、.0时代,JDK除了AWT(一种用于开发图形用户界面的API)外,其它的库并不完整。Java的发展 Sun在推出JDK1.0后,紧跟着,Sun在1997年2月18日发布了JDK1.1。JDK1.1相对于JDK1.0最大的改进就是为JVM增加了JIT(即时编译)编译器。JIT和传统的编译器不同,传统的编译器是编译一条,运行完后再将其扔掉,而JIT会将经常用到的指令保存在内容中,在下次调用时就不需要再编译了。这样JDK在效率上有了非常大的提升。Sun在推出JDK1.1后,接着又推出了数个JDK1.x版本。1998年是Java开始迅猛发展的一年。在这一年中Sun发布了JSP/Servlet、EJB规
9、范以及将Java分成了J2EE、J2SE和J2ME。标志着Java已经吹响了向企业、桌面和移动3个领域进军的号角。到1998年,Java已经走过了3个年头。从JDK1.0到JDK1.1.8。JDK1.x经过了9个小版本的发展,已经初具规模。至此,它已经走出了摇篮,可以去独闯世界了。Java的发展 在1998年12月4日。Sun发布了Java的历史上最重要的一个JDK版本:JDK1.2。这个版本标志着Java已经进入Java2时代。这个时期也是Java飞速发展的时期。在Java2时代Sun对Java进行了很多革命性的变化 ,而这些革命性的变化一直沿用到现在,对Java的发展形成了深远的影响。JD
10、K1.2自从被分成了J2EE、J2SE和J2ME三大块,得到了市场的强烈反响。不仅如此,JDK1.2还对它的API分成了核心API、可选API和特殊API三大类。从JDK1.2开始,Sun以平均2年一个版本的速度推出新的JDK。在2000年5月8日。Sun对JDK1.2进行了重大升级。推出了JDK1.3。Sun在JDK1.3中同样进行了大量的改进,主要表现在一些类库上(如数学运算、新的Timer API等)、在JNDI接口方面增加了一些DNS的支持、增加了JNI的支持,这使得Java可以访问本地资源、支持XML以及使用新的Hotspot虚拟机代替了传统的虚拟机。Java的发展 2002年2月1
11、3日Sun发布了JDK历史上最为成熟的版本JDK1.4。在进入21世纪以来,曾经在.NET平台和Java平台之间发生了一次声势浩大的孰优孰劣的论战,Java的主要问题就是性能。因此,这次Sun将主要精力放到了Java的性能上。在JDK1.4中,Sun放言要对Hotspot虚拟机的锁机制进行了改进,使JDK1.4的性能有了质的飞跃。同时由于Compaq、Fujitsu、 SAS、 Symbian、 IBM等公司的参与,使JDK1.4成为发展最快的一个JDK版本。到JDK1.4为止,我们已经可以使用Java实现大多数的应用了。在2004年10月,Sun发布了我们期待已久的版本JDK1.5,同时,S
12、un将JDK1.5改名为J2SE5.0。和JDK1.4不同,JDK1.4的主题是性能,而J2SE5.0的主题是易用。Sun之所以将版本号1.5改为5.0,就是预示着J2SE5.0较以前的J2SE版本有着很大的改过。Java的发展 到2006年底Sun又再接再厉地推出了J2SE6.0的测试版,并在2007年初推出它的正式版。正象J2SE6.0的开发代号“野马(Mustang)”一样,我们已经隐约听到了野马的嘶鸣。据Sun发言人称,J2SE6.0不仅在性能、易用性方面得到了前所未有的提高,而且还提供了如脚本、全新的API(Swing和AWT等API已经被更新)的支持。而且J2SE6.0是专为Vis
13、ta而设计的,它在Vista上将会拥有更好的性能。在推出J2SE6.0的同时,J2SE7.0项目也已经启动。在Java发展的十几年的时间里,经历了无数的风风雨雨。现在Java已经成为一种相当成熟的语言了。在这10年的发展中,Java平台吸引了数百万的开发者,在网络计算遍及全球的今天,更是有20亿台设备使用了Java技术。2009年4月20日,Oracle(甲骨文)宣布收购Sun。 Java的意义软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重要性并可即插即用等分布式计算模式的需求。基于构建开发方法的崛起,引出了CORBA
14、国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。Java的意义对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。 1.1.2 Java语言特点Java语言是简单的Jav
15、a语言是面向对象的 Java语言是分布式的Java语言是健壮的Java语言是安全的Java语言是体系结构中立的1.1.2 Java语言特点Java语言是可移植的Java语言是解释型的Java是高性能的Java语言是多线程的Java语言是动态的1.1.3 Java运行环境的安装与配置JDK 是Java开发工具包 (JavaDevelopment Kit ) 的缩写。它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境。JDK是一切Java应用程序的基础,所有的Java应用程序是构建在这个之上的。它是一组API,也可以说是一些Java Class。要成为一个Java程
16、序员,JDK是必不可少的最基本的工具。 JDK的下载与安装 机器要求Java对机器运行要求不高。下面给出的是基于Windows平台的机器要求。 硬件要求:CPU PII以上,64M内存,100M硬盘空间即可。 软件要求:Windows98/Me/XP/NT/2000,IE 5以上。 JDK的下载与安装 下载 JDK为了建立基于JDK的Java运行环境,需要先下载Sun的免费JDK软件包。JDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。在浏览器中输入 /javase/downloads/index.jsp,可看到JDK下载主页面。下载 JD
17、K在Java Platform中选择JDK 6 Update 18,点击“Download JDK”按钮,即可进入JDK1.6下载页面 。单击Download按钮,即可进入jdk-6u18-windows-i586.exe的下载页面 。此时点击jdk-6u18-windows-i586.exe,即可下载。 安装 JDK双击下载的“jdk-6u18-windows-i586.exe”软件包,出现安装向导窗口 。等待一段时间,会自动出现安装协议窗口 。单击“接受”按钮,出现安装路径设置窗口。缺省安装路径为“C:Program FilesJavajdk1.6.0_18”,可以单击“更改”按钮改变安装
18、路径,这里不做修改,单击“下一步”按钮,出现JDK安装界面 。安装过程中会出现JRE的安装界面 。单击“更改”按钮可以改变安装路径,由于安装JDK时已经安装了JRE,所以该项是可选的,如果不安装,点击“取消”按钮。单击“下一步”按钮即安装JRE 。安装过程大约持续几分钟,出现安装结束窗口,单击“完成”按钮即可完成JDK的安装。 JDK文件浏览安装成功后,可以浏览安装路径下“Javajdk1.6.0_18”中的文件和子目录结构,其中,bin文件夹中包含编译器(javac.exe)、解释器(javac.exe)、Applet查看器(appletviewer.exe) 等可执行文件,Demo文件夹中
19、包含一些源代码的程序示例,感兴趣的同学可自行查看。 Java运行环境的配置方法 绝对路径绝对路径方法中无需配置JAVA_HOME。CLASSPATH中输入“.; C:Program FilesJavajdk1.6.0_18jrelibrt.jar”。PATH中输入“C:Program FilesJavajdk1.6.0_18bin”。其中,“C:Program FilesJavajdk1.6.0_18”为JDK安装路径。 Java运行环境的配置方法 相对路径方法首先定义一新的环境系统变量JAVA_HOME,令JAVA_HOME=“C:Program FilesJavajdk1.6.0_18”。
20、CLASSPATH中用%JAVA_HOME%取代“C:Program FilesJavajdk1.6.0_18”,CLASSPATH中输入“.; %JAVA_HOME%jrelibrt.jar;”。同样,PATH中用%JAVA_HOME%取代“C:Program FilesJavajdk1.6.0_18”, PATH中输入“%JAVA_HOME%bin;”。 Java运行环境的配置方法 批命令方法编辑一文件,具体文件命令如下:echo off IF EXIST %1binjava.exe ( rem 如输入正确的 Java2JDK 安装目录,开始设置环境变量 setx JAVA_HOME %1
21、 setx path %path%;%JAVA_HOME%bin setx classpath %classpath%.;setx classpath %classpath%;%JAVA_HOME%jrelibrt.jar; echo on echo Java 2 JDK 环境参数设置完毕,正常退出。 ) Java运行环境的配置方法ELSE ( IF %1= ( rem 如没有提供安装目录,提示之后退出 echo on echo 没有提供 Java2JDK 的安装目录,不做任何设置,现在退出环境变量设置。 ) ELSE ( rem 如果提供非空的安装目录但没有binjava.exe,则指定的目
22、录为错误的目录 echo on echo 非法的 Java2JDK 的安装目录,不做任何设置,现在退出环境变量设置。 ) ) Java运行环境的配置方法 命令行方法命令行方法为每次重新启动MS-DOS编译和运行Java程序时设置,在提示符下键入如下命令:SET PATH = C:Program FilesJavajdk1.6.0_18bin;SET CLASSPATH=.; C:Program FilesJavajdk1.6.0_18jrelibrt.jar; Java运行环境的具体配置 Path和Classpath的配置在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置窗
23、口,在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置窗口,在“系统变量”列表框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令最前面添加“C:Program FilesJavajdk1.6.0_18bin;”命令,用同样方法设置环境变量“classpath”,其值为“.; C:Program FilesJavajdk1.6.0_18jrelibrt.jar;”命令,由于一般系统安装时没有classpath这个环境变量,所以要新建该环境变量,设置完成后,单击“开始”/“所有程序”/“附件”/“命令提示符”打开DOS窗口,在命令提示符下
24、输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则表明安装配置成功 Java运行环境的具体配置 设置DOS起始位置为了在打开DOS 窗口时可以直接进入Java程序的开发路径下,下面以Windows XP/2000为例说明设置过程。首先建立一个存放Java源程序的路径和文件夹,如将实践中建立的Java源程序都存放在为“e:javabook”文件夹中。单击“开始”/“所有程序”/“附件”/“命令提示符”,选中“命令提示符”选项单击鼠标右键,在出现的下拉菜单中选择“属性”菜单,打开“命令提示符属性”对话框,在“命令提示符属性”对话框中选择“快捷方式”选项页,在“起始位置”栏输入
25、“e:javabook”,单击“确定”按钮即可。进行了上面的设置后,打开DOS 窗口时将直接进入“e:javabook”路径下。 1.1.4 Java程序结构一个Java应用包含一个或多个Java源文件,每个Java源文件只能包含如下内容(空格或注释除外):0个或1个包声明语句(Package Statement)0个或多个包引入语句(Import Statement)0个或多个类的声明(Class Declaration)0个或多个接口声明(Interface Declaration) 每个Java源文件可包含多个类或接口的定义,但是至多只有一个类或者接口是public的,而且Java源文件
26、必须以其中public类型的类的名字命名。 Java程序主要分为两类: Java应用程序(application):单独的窗口应用,一定要有包含main()方法的主程序。Java小程序(applet):这类程序嵌入在WWW的页面中,作为页面的组成部分被下载,并且能运行在实现Java虚拟机的web浏览器中,它没有main()方法。 Java程序public class Hello public static void main(String args) System.out.println(Hello,java!); 注意Java程序应注意:代码中区分大小写。在这个代码中定义public类的名字
27、是要和保存的文件名相同。 Java Applet程序import java.applet.Applet;import java.awt.Graphics; public class HelloWorldApplet extends Applet public void paint(Graphics g) g.drawString(Hello World!,0,50); 注意讲解到这里,似乎有一个误解,认为只有在JavaApplet程序中会使用import语句,而在Java应用程序中不要使用import语句。千万不要有这个误解,Java应用程序中也会经常使用import语句,只不过前面的例子是十
28、分简单的应用程序,所以没有用到import语句,但Java中所有类都是Object类的子类,不用import语句显式引入。而JavaApplet程序是一定要使用这个语句的,应为至少需要包括与Applet有关的类。 1.1.5 Java程序的运行机制和垃圾回收机制 Java程序的运行机制Java是一种特殊的高级语言,它既具有编译型语言的特征,又具有解释型语言的特征。Java程序需要先要经过编译,再经过解释两个步骤才能运行。Java语言编写的程序需要经过编译,而编译所生成的并不是特定的平台机器码,只是一个与平台(操作系统)无关的字节码文件。当然这种字节码不能被系统执行,必须使用Java解释器(JV
29、M,Java Virtual Machine ,也称为Java虚拟机,)来执行。JVM是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统,JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。1.1.5 Java程序的运行机制和垃圾回收机制 Java的垃圾回收机制内存是稀缺的资源,Java语言提供了垃圾收集机制。该
30、机制用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象,从而可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。Java语言对内存的分配管理是通过JVM内部机制决定的,编程人员可以不关心其处理。虽然Java垃圾收集器处理了大多数内存管理问题,从而使编程变得更轻松了,但是编程人员还是可能犯错而导致出现内存问题,所以很多情况下高级编程人员自己管理内存,关于垃圾回收机制的问题请读者参阅相关参考资料。 1.1.6 Java程序的编写、编译、运行 利用记事本编写、编译、运行Java程序(a) 编写Java源程序单击“开始”/“所有
31、程序”/“附件”/记事本,打开记事本窗口,输入上面例子的Java源程序代码,保存路径为“E:javabook”,文件名为“Hello.java”。(b)编译Java程序使用Java编译器编译Java程序,具体命令如下:javacoptionssourcefilesfiles其中:javac是命令关键字,后面的为命令参数,参数可按任意次序排列。 options命令行选项选项含义-g 生成所有调试信息-g:none不生成任何调试信息-g:lines,vars,source 只生成某些调试信息-nowarn不生成任何警告-verbose输出有关编译器正在执行的操作的消息-deprecation输出使
32、用已过时的API的源位置-classpath 指定查找用户类文件的位置-cp 指定查找用户类文件的位置-sourcepath 指定查找输入源文件的位置-bootclasspath 覆盖引导类文件的位置-extdirs 覆盖安装的扩展目录的位置-endorseddirs 覆盖签名的标准路径的位置-d 指定存放生成的类文件的位置-encoding 指定源文件使用的字符编码-source 提供与指定版本的源兼容性-target 生成特定 VM 版本的类文件-version版本信息-help输出标准选项的提要-X输出非标准选项的提要-J直接将 传递给运行时系统sourcefiles一个或多个要编译的源
33、文件。files一个或多个对源文件进行列表的文件。如果源文件数量少,在命令行上列出文件名即可。如果源文件数量多,则将源文件名列在一个文件中,名称间用空格或回车行来进行分隔,然后在javac命令行中使用该列表文件名,文件名前冠以字符。例如,可以在名为sourcefiles的文件中列出所有源文件的名称。该文件可能形如:MyClass1.javaMyClass2.javaMyClass3.java然后可用下列命令运行编译器:e:javabook javacsourcefiles注意:源代码文件名称必须含有.java后缀,类文件名称必须含有.class后缀,源文件和类文件都必须有识别该类的根名。例如,
34、名为MyClass的类将写在名为MyClass.java的源文件中,并被编译为字节码类文件MyClass.class。缺省情况下,编译器将每个类文件与其源文件放在同一目录中,可用-d选项(请参阅后面的选项)指定其它目标目录。 (c) 运行Java程序Java使用Java解释器可将编译后的字节码文件Hello.class解释为本地计算机代码。命令如下:java -options class args.其中: class为字节码文件名。args是java程序执行时传递给main()方法的参数。 options命令行选项 选项含义-client选择“client”VM-server选择“server
35、”VM-hotspot与“client”VM同义,默认情况的VM是client-cp指定查找用户类文件的位置-classpath 指定查找用户类文件的位置-d=在虚拟机的系统属性中设置属性名/值对-verbose:class|gc|jni使详细输出变的可用-version打印产品版本然后退出-version:只运行指定版本-showversion打印产品版本后继续-? -help打印帮助信息-X打印非标准选项帮助 使用EditPlus编辑、编译、运行Java程序 (a) EditPlus编辑软件的下载和安装EditPlus编辑软件在网上有很多,在百度中输入“EditPlus下载”即可下载到该软
36、件。EditPlus编辑软件的安装方法很简单,解压后自运行。 使用EditPlus编辑、编译、运行Java程序 (b) EditPlus用户工具的配置打开 EditPlus 编辑软件,单击“工具”/“配置用户工具”菜单,将打开的“参数设置”窗口,在打开的“参数选择”窗口中,单击“组名称”按钮,确定工具组的名称。单击“添加”按钮,从弹出的快捷菜单中选择“应用程序”命令。在“菜单文本”栏中输入“编译”文字,在“命令”栏中输入或通过文件夹选择 javac.exe文件的路径,在“参数”栏选择“文件名称”,在“初始目录”栏输入Java程序所在的路径,选中“捕获输出”,单击“确定”按钮,注意,“命令”、“
37、参数”和“初始目录”可以通过单击编辑栏后面的按钮在弹出的窗口中选择实现输入。同样的方法可以设置“运行”工具。 使用EditPlus编辑、编译、运行Java程序 (c) 使用EditPlus编辑Java程序运行EditPlus,选择路径“E:javabook”,在左下角显示的文件中选中“Hello.java”程序, (d) 使用EditPlus编译与运行Java程序单击“工具”/“编译”菜单,就开始对编写的程序进行编译处理,编译通过后,可在右下方窗口看到编译结果。如果程序有问题,可在右下方窗口中看到提示。编译成功后,单击“工具”/“运行”菜单,就开始运行刚通过编译的程序,可在右下方窗口看到运行结
38、果。 Java Applet程序运行环境配置 Java虚拟机与Internet浏览器的配置为了在浏览器中正常浏览Java程序,需要检查两个方面的配置,一是要选择Java(TM)缺省浏览器,二是需要打开浏览器缺省配置下禁止的Java功能。(a) 选择Java(TM)缺省浏览器Java(TM)软件中涉及Web交互的部分。它包括Java虚拟机和许多其它内容。有了它可以尽情享受Internet提供的最佳内容,包括游戏、体育、聊天、电子邮件、艺术、财务工具等等。在“控制面板”窗口双击图标,打开“Java(TM)Plug-in控制面板”对话框,选择“浏览器”选项,选中“Microsoft Internet
39、 Explorer”复选框,此选择意味着选择“Microsoft Internet Explorer”作为JavaApplet程序运行时缺省浏览器,单击“应用”按钮即可完成配置。 Java Applet程序运行环境配置(b) 打开浏览器Java的功能打开一个IE窗口,在浏览器菜单栏单击“工具”/“Internet选项”命令,打开“Internet选项”对话框,选择“高级”选项卡,选取“Java(sun)”下的单选框,选取“Microsoft VM”下的第 一个选项“启用JavaJIT 编译器”,选择“安全”选项卡,单击“自定义级别”按钮,将打开“安全设置”对话框,在“安全设置”对话框中把“Mi
40、crosoft VM”中的Java权限设置为“安全等级-中”;把“脚本” 中的“JavaApplet程序脚本”设置为“启用”和“活动脚本”设置为“启用”。完成上面操作后,关闭浏览器再重新打开即可在浏览器中正常浏览JavaApplet程序。 编写、运行Java Applet程序(a) 编辑、编译Java Applet源程序在EditPlus中,输入下面的程序代码,import java.applet.Applet;import java.awt.Graphics; public class HelloWorldApplet extends Applet public void paint(Gra
41、phics g) g.drawString(Hello World!,0,50); 然后存盘退出。单击“工具”/“编译”菜单,可在右下方窗口看到编译结果。编译成功后,将生成一个名为HelloWorldApplet.class的文件。 编写、运行Java Applet程序(b) 编辑包容JavaApplet程序的HTML文件由于JavaApplet程序是不能直接使用命令行来运行的,它们是嵌入到网页中的,要使用浏览器才能够运行,而浏览器是无法直接执行JavaApplet程序的。这时就必须通过HTML文件来告诉浏览器执行JavaApplet程序。在HTML文件中嵌入JavaApplet程序,应使用标
42、志,这个标志包含几个参数:CODE:用来指出要嵌入的JavaApplet程序名称,是编译后的类文件名;WIDTH:用来指定JavaApplet程序的宽度;HEIGHT:用来指定JavaApplet程序的高度。注意,使用Java编程,Java源程序文件的名字应与类名一致,但包含小应用程序的HTML文件则无需与其一致,此处取名一致。 编写、运行Java Applet程序(c) 运行JavaApplet程序可以通过两种方法来运行JavaApplet程序:一种方法是使用支持Java的浏览器(如微软的IE、还用Netscape的Navigator),另一种方法是使用Java的小应用程序浏览器Applet
43、Viewer。 第一种方法:首先打开IE浏览器,在地址栏上输入“E:javabookHelloWorldApplet.html”,将看到这个小应用程序的输出结果。第二种方法:利用AppletViewer命令,该命令主要用来测试Applet程序,使用该命令能够实时反映Applet程序的变化。使用AppletViewer命令不需要引入复杂的HTML代码,只需编写如下代码即可。 在MS-DOS中输入“AppletViewer HelloWorldApplet.HTML”即可。Java程序设计基础与实践 第2章 Java语言基础本章要点 Java数据类型与运算符 Java注释语句 Java分支程序设计
44、 Java循环程序设计 Java数组 Java字符串数据类型与运算符 数据类型Java语言是一种严格的“类型化”语言。这意味着每个变量都必须有一个声明好的数据类型。Java语言提供了8种基本数据类型 :字节型byte、短整型short、整型int、长整型long、单精度浮点型float、双精度浮点型double、字符型char、逻辑类型booleanJava是面向对象的程序设计语言,它为用户提供的复合数据类型包括数组、类和接口等 类型之间的转换 自动类型转换 强制类型转换 运算符注释语句 单行注释-/ 多行注释-“/*/” 文档注释-“/*/” 例如:在E:javabook中创建一个First
45、.java文件,其代码如下: /* *First.java *这是一个简单的Java应用程序 */ public class First/*public修饰的类为主类,类名和文件名保持一致*/ /主类中要包含main()方法 public static void main(String args) /方法体 注释语句(续)使用javadoc命令可以获取文档注释信息,并且生成相应的API文档。Javadoc命令用法如下:javadoc 选项 软件包名称 源文件 file例如,在E:javabook中新建一文件夹Test,以First.java为例,将其生成的API文档存放在Test文件夹中,命令
46、如下:javadoc d Test First.java运行界面如图2.1所示。 生成的API文档如图2.2所示。其中index.html是生成的文档首页。注释语句(续)图2.1执行javadoc的运行界面注释语句(续)图 2.2 生成的API文档分支程序设计 所谓分支语句就是对语句中不同条件的值进行判断,进而根据不同的条件执行不同的语句。分支语句共有两种:if语句和switch语句 分支程序设计- if条件语句 if语句的语法格式:if(条件1)功能代码1;else if(条件2)功能代码2;else if(条件3)功能代码3;else功能代码;分支程序设计-switch语句 switch语
47、句的语法格式:switch(表达式)case 值1:功能代码1; break; case 值2:功能代码2; break; default:功能代码1;break; 循环程序设计 循环就是反复执行一段代码,直到满足结束条件。循环语句共有while语句、do-while语句和for语句三种。 循环程序设计- while语句 while语句是Java最基本的循环语句,其语法格式如下:while(条件表达式) / 循环体 循环程序设计 -do-while 循环 do-while 循环语句语法格式如下:do / 循环体 while (条件表达式); 循环程序设计 -for 循环 for 循环语句的通用
48、格式如下:for(初始化语句;循环条件;迭代语句) 语句序列三种循环语句while循环语句的特点是“先判断、后执行”,循环体有可能执行0次;do-while循环语句的特点是“先执行,后判断”,循环体至少要执行1次。while语句和for语句在循环语句中都属于“先判断再循环”的结构,在实际使用时while语句和for语句之间可以很方便的进行替换。循环程序设计 -跳转语句 continuecontinue语句可以终止一次循环。如果在某次循环体的执行中执行了continue语句,那么就不再执行本次循环中continue语句后面的语句,退出本次循环而直接进行下一次循环。 breakbreak语句可以终
49、止循环或其他控制结构。在switch语句中,break语句可以用来终止一个语句序列;在循环语句中,break语句可以用来退出一个循环。 returnreturn语句可以从一个方法返回,并把控制权交给调用它的语句。return语句通常被放在方法的最后,用于退出当前方法并返回一个变量或表达式的值。语法格式为:return 变量或表达式的值; Java数组-一维数组 一维数组的声明 声明一维数组的格式为:type arrayName; type arrayName; 其中,类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。 Java数组-一维数组 一维数组的初始化 声明数组仅仅
50、是给出数组名字和元素的数据类型,要想使用数组还必须为它分配内存空间、赋初值。数组的初始化分为静态初始化和动态初始化两种。 静态初始化 静态初始化是在定义数组的同时对数组元素进行初始化,这种方式通常在数组元素个数较少的情况下使用动态初始化 使用动态初始化方法时,需要使用new关键字来为数组分配空间。格式为:数组名字=new 数组元素的类型数组元素的个数;Java数组-一维数组 一维数组元素的引用 一维数组元素的引用方式为: arrayNameindex 其中,index为数组下标,它可以为整型常数或表达式,下标从0开始。 Java数组-多维数组Java语言中,多维数组被看作数组的数组。下面以二维
51、数组为例介绍多维数组的定义、初始化和元素的引用。 二维数组的声明声明二维数组的格式为:type arrayName ; type arrayName; 二维数组的初始化 二维数组的初始化同样分为静态初始化和动态初始化两种。静态初始化 静态初始化是在定义数组的同时就为数组分配了内存空间。 Java数组-多维数组动态初始化 对于二维数组的动态初始化,可以有两种方法。直接为每一维分配空间格式如下: arrayName = new typelen1len2; 上面的定义中配置了len1行len2列的二维数组对象Java数组-多维数组从最高维开始,分别为每一维分配空间 int a ;/声明一个二维整型数
52、组a = new int2 ; /该二维数组由2个一维整型数组组成a0 = new int3; /第1个一维数组由3个整数组成a1 = new int5;/第2个一维数组由5个整数组成 二维数组元素的引用 对二维数组中的每个元素,引用格式为:arrayNameindex1index2index1与index2为下标,这个下标与一维数组一样,可以是常量、变量或表达式。 Java数组-多维数组 数组中常用属性和方法 数组中常用属性在数组的应用中经常用到数组的长度,表示一维数组长度(即元素的个数)的格式为:数组.length。lengh属性是数组中唯一的一个属性,length属性也不存在于API中,
53、而是JVM自动给加上去的。Java数组-多维数组 数组中常用方法get(Objectarray, intindex) getBoolean(Objectarray, intindex)getByte(Objectarray, intindex)getChar(Objectarray, intindex)getDouble(Objectarray, intindex)getFloat(Objectarray, intindex)getInt(Objectarray, intindex)getLength(Objectarray) getLong(Objectarray, intindex)get
54、Short(Objectarray, intindex)Java数组-多维数组 数组中常用方法(续)set(Objectarray, intindex, Objectvalue)setBoolean(Objectarray, intindex, booleanz)setByte(Objectarray, intindex, byteb) setChar(Objectarray, intindex, charc)setDouble(Objectarray, intindex, doubled) setFloat(Objectarray, intindex, floatf)setInt(Objec
55、tarray, intindex, inti)setLong(Objectarray, intindex, longl)setShort(Objectarray, intindex, shorts)Java字符串 字符串常量字符串常量是用双引号括起来的一串字符。 例如:“Hello World!” 字符串变量的声明String s; 字符串变量的创建Java语言中,把字符串变量作为对象来处理。Srting类有几种常见的方法可以将声明和创建一步完成:String();/初始化一个新创建的String对象,它表示一个空字符串String( char chars ); /用一个字符数组创建一个字符串
56、对象String( char chars ,int startIndex,int numChars ); /*提取字符数组chars中startIndex开始numChars个字符创建一个字符串对象, */String(Stringoriginal);/*初始化一个新创建的String对象,表示一个与original相同的字符串即创建一个字符串副本*/ 字符串的常用方法length()charAt(int index)indexOf(int ch) lastIndexOf(in ch)indexOf(String str) lastIndexOf(String str)indexOf(int
57、ch,int fromIndex) lastIndexOf(in ch,int fromIndex)indexOf(String str,int fromIndex) lastIndexOf(String str,int fromIndex)getchars(int srcbegin,int end,char buf,int dstbegin)getBytes(int srcbegin,int srcEnd,byte buf,int dstbegin)contat(String str)replace(char oldChar,char newChar)substring(int beginI
58、ndex)substring(int beginIndex,int endIndex)toLowerCase() toUpperCase()equals(ObjectanObject) equalsIgnoreCase(StringanotherString)另外,可以将数字串转换为整数和双精度数,方法格式如下:Integer.parseInt(String);/将数字字符串转化为整型Double.parseDouble(String);/ 将数字字符串转化为浮点型 本章小结 Java语言是一种严格的“类型化”语言。这意味着每个变量都必须有一个声明好的数据类型。Java语言提供了字节型、短整型
59、、整型、长整型、单精度浮点型、双精度浮点型、字符型和逻辑类型8种基本数据类型,语言和数组、类和接口等复合数据。Java编程时有时需要进行数据类型转换,数据类型之间的转换有自动类型转换和强制数据类型转换。要实现两种数据类型的自动转换,必须同时满足两个条件,一是两种数据类型彼此兼容,二是目标数据类型的取值范围要大于源数据类型。能进行自动转换的数据类型及转换规则如下:byte-short-char-int-long-float-double按照箭头所示方向,左侧的数据类型数据可以自动转换赋值给右侧的数据类型变量,但反之,将右侧的数据类型数据赋值给左侧的数据类型变量必须经过强制类型转换。强制类型转换的
60、转换格式为:(目标类型)变量名或表达式强制数据类型转换后可能会丢失一部分数据。本章小结(续)Java语言提供了()、!、+(正)、-(负) 、+、-、*、/、%、+(加) - (减)、=、instanceof、=、!=、&(按位与)、|、&、|、?:、=、+=、-=、*=、/=、%=、|=、=、=、=、=等运算符。Java中可以采用单行注释、多行注释和生成帮助文档的注释三种注释方式。Java分支语句共有if语句和switch语句两种。Java循环语句共有while语句、do-while语句和for语句三种。Java中支持break语句、continue语句和return语句三种跳转语句。 本章
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年嵩山少林武术职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年山东电子职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年山东海事职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- HSE安全培训知识课件
- 2025年天津渤海职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年天津生物工程职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 纸浆班本课程汇报
- 秋天再见课件小班
- DB3204-T 1072-2024 化工园区污染地块土壤风险管控和修复施工过程环境管理规范
- 老年口腔健康教育
- GB 4053.2-2009固定式钢梯及平台安全要求第2部分:钢斜梯
- GB 14934-2016食品安全国家标准消毒餐(饮)具
- 民本思想课件
- 健身气功八段锦教案
- 象棋-小学社团活动记录表
- 边坡坡度测量记录表
- 中职 AutoCAD 2018计算机辅助设计项目化教程课程标准
- 功能医学与健康管理
- HZS75型搅拌站安装施工方法
- DB13(J)∕T 8377-2020 建筑施工安全管理标准
- 吊装施工施工组织设计
评论
0/150
提交评论