1、怀化学院计算机科学与技术系Java程序设计实验指导书张 文编著怀化学院计算机科学与技术系2006年 6 月 25 日目 录绪论. 4实验一 Java 运行环境的下载、安装、配置与运行. 6一、实验目的. 6二、实验要求. 6三、实验内容. 6 (一) SDK 的下载与安装。. 6 (二) 设置环境变量. 8 (三) 安装java 虚拟机. 10 (四) 使用EditPlus. 11 (五) 编译Java 源程序. 12 (六) 运行Java 程序. 12 (七) 使用EditPlus 编译与运行程序. 12 (八) 浏览Applet 程序. 14实验二 Java 基本语法练习. 15一、实验目
2、的. 15二、实验要求. 15三、实验内容. 15(一) 声明不同数据类型的变量. 15(二) 了解变量的使用范围. 16(三) 使用关系运算符和逻辑运算符. 17(四) 使用数组. 17(五) 使用表达式语句与复合语句. 18(六) 使用选择语句. 18(七) 使用循环语句. 20四、练习题. 22实验三 面向对象编程练习. 23一、实验目的. 23二、实验要求. 23三、实验内容. 23(一) 创建Applet 应用小程序. 23(二) 创建对象与使用对象. 24(三) 显示当前日期和时间的程序. 26(四) 使用修饰符. 27(五) 方法中的参数传递. 29四、思考题. 31实验四 面向
3、对象编程练习. 31一、实验目的. 31二、实验要求. 31三、实验内容. 31(一)类的继承性练习. 31(二)类的多态性练习. 34四、思考题. 37实验五 包、接口与异常处理(exception) . 38一、实验目的. 38二、实验要求. 38三、实验内容. 38(一) 了解和使用Java 的系统包. 38(二) 创建并使用自定义包. 38(三) 使用接口的技术. 40(四) 创建自定义接口. 42(五) 异常处理机制. 43(六) 异常对象的类型. 45(七) 使用trycatch 语句处理异常. 47(八) 使用throw 语句抛出异常. 49(九) throws 子句的使用. 5
4、0(十) 使用finally 子句. 51(十一) 创建自定义异常类. 52四、思考题. 53实验六 常用系统类. 53一、 实验目的. 53二、 实验要求. 53三、 实验内容. 53(一) Applet 的生命周期. 53(二) 字符串与字符串类. 55(三) 输入输出流类. 56(四) 数学函数类. 60(五) 日期类. 61(六) 向量类Vector . 63参考文献. 64第一部份 绪论一、 上机实验目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解Java语言的基本结构和程序设计方法。通过亲手编程掌握Java 语言编程的方法。二、 实验基本内容为了使
5、学生在上机实验时目标明确,本实验指导书针对课程内容编写了5个实验。学生可以在课内机时先完成指导书中给出的程序,理解所学的知识,在此基础上再编写其他应用程序。指导书中的5个实验如下。1Java 程序运行环境的下载、安装与配置。2Java 基本语法的编程练习。3面向对象编程练习。4Java 包、接口和异常处理的练习。5常用系统类的练习。三、实验任务与时间安排Java 程序设计是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术进行编程练习。Java 程序设计上机实验时间为36 学时,与教学内容同时进行上机实验。36 个上机学时分为6个实验,在该单元学习后安排1 次上机实验。四、
6、实验教学项目及其教学要求序号实验项目名称项目教学目标、要求学时1Java 运行环境1.掌握J2sdk开发环境的基本功能。2.上机调试实验(上机)指导书中的实验1,其中至少两个实验内容。3.实验内容及程序调试结果形成实验报告。22Java 基本语法练习1. 编写一个声明Java 不同数据类型变量的程序。2. 编写一个使用运算符、表达式、变量的程序。3. 编写一个使用Java 数组的的程序。4. 编写表达式语句、复合语句的程序。5. 编写使用不同选择结构的程序。6. 编写使用不同循环结构结构的程序。63面向对象编程练习1. 编写一个体现面向对象思想的程序。创建对象和使用对象的方法的程序。2. 编写
7、一个日期和时间的程序。3. 编写不同成员变量修饰方法的程序。4. 编写不同成员方法修饰方法的程序。64继承与多态练习1. 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。2. 编写体现类的多态性(成员方法重载、构造方法重载)的程序。65包、接口与异常处理1. 了解Java 系统包的结构。2. 掌握创建自定义包的方法。3. 掌握使用系统接口的技术和创建自定义接口的方法。4. 理解系统异常处理的机制和创建自定义异常的方法。86常用系统类的使用1. 进一步了解Applet 类。2. 掌握字符串类的使用方法。3. 掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等。
8、4. 掌握数学函数类的使用方法。5. 掌握日期类的使用方法。6. 掌握向量类的使用方法。8第二部份 实验操作指导实验一 Java 运行环境的下载、安装、配置与运行一、实验目的1 掌握下载Java SDK 软件包、EditPlus 编辑软件的方法。2 掌握设置Java 程序运行环境的方法。3 掌握编写与运行Java 程序的方法。4 了解Java 语言的概貌。5 为学习Java 语言和进行Java 程序的实验做好准备工作。二、实验要求1 下载、安装并设置Java SDK 软件包。2 下载并安装EditPlus 编辑软件。3 编写一个简单的Java 程序。4 掌握运行Java 程序的步骤。5 浏览S
9、DK 自带的Applet 应用小程序。三、实验内容(一) SDK 的下载与安装1机器要求Java 对机器运行要求不高。下面给出的是基于Windows 平台的机器要求。硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。2下载SDK为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包。SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。在浏览器中输入 所示的Sun 公司网站页面。图1.1在页面右边“Popular Do
10、wnloads”栏中可看到最新版的SDK 软件包(早期版本称为JDK),这里显示的是“J2SE 1.4.2 SDK-NEW”(当前最新版)。单击“J2SE 1.4.2 SDK-NEW”超链接,可看到图1.2 所示页面。图1.2在页面的“Download J2SE v 1.4.2_01 ”栏可以选择下载 J2SE v 1.4.2_08 SDK 软件包。有两种选择:一种是在线安装“Windows Installation”;一种是离线安装“Windows Offline Installation”。单击页面中“SDK”列对应的“DOWNLOAD”超链接,可看到图1.3 所示的下载协议说明书。图1.
11、3单击“ACCEPT”按钮,同意Sun 公司的协议,可进入到图1.4 所示的下载页面,单击“Downloadj2sdk-1_4_2_01-windows-i586.exe”超链接,开始下载工作。图1.43安装SDK运行下载的“j2sdk-1_4_2_01-windows-i586.exe”软件包,可安装SDK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为C: j2sdk1.4.2_01(这里选择E 盘),默认的组件选择是全部安装。4SDK 中的主要文件夹和文件安装成功后,E: j2sdk1.4.2_08 中的文件和子目录结构中,其中,bin 文件夹中包含编译器(javac.ex
12、e)、解释器(javac.exe)、Applet 查看器(appletviewer.exe)等可执行文件, Demo 文件夹中包含一些源代码的程序示例。(二) 设置环境变量SDK 中的工具都是命令行工具,需要从命令行即MSDOS 提示符下运行它们。很多人可能会不习惯,但这是Sun 特意采取的策略,为的是把精力更多地投入到Java 语言本身而不是花在开发工具上。为了能正确方便的使用SDK,可手工配置一些Windows 的环境变量,Windows 98 与Windows/xp/NT/2000 的配置略有不同。1 设置Windows 98在C:autoexec.bat 文件中,添加以下内容:set
13、path=%path%; E: j2sdk1.4.2_01binset classpath=.; E: j2sdk1.4.2_01lib;%classpath%E: j2sdk1.4.2_01bin 为程序安装路径,如果安装时做了修改,这里必须做出相应的修改。“set path”语句设置Java 编译运行程序的路径,“set classpath”语句设置Java 包的路径,其中的“.”表示在当前目录下均可执行Java 程序。autoexec.bat 文件修改后存盘,然后重新启动计算机,即完成了设置。2 设置Windows XP/NT/2000以Windows XP 为例说明设置过程。在桌面“我
14、的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置界面,如图1.7 所示。图1.7在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置界面,如图1.8 所示。在“系统变量”框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令前添加“E:j2sdk1.4.2_01bin;”命令,如图1.9 所示。用同样方法设置环境变量“classpath”,其值为“E:j2sdk1.4.2_01lib;”命令。设置完成后,单击“开始”“所有程序”“附件”“命令提示符”打开DOS 窗口,在命令提示符下输入“java”或“javac”,回车后,如果出
15、现其用法参数提示信息,则安装正确3设置DOS 起始位置为了在打开DOS 窗口时可以直接进入包含你开发的java 程序的路径下,下面以Windows XP/2000为例说明设置过程。(1)首先建立一个存放java 源程序的路径和文件夹,如将实验中建立的java 源程序都存放在为“e:java程序”文件夹中。(2)单击“开始”“所有程序”“附件”“命令提示符”,选择“命令提示符”选项右击,在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符 属性”对话框。 (3)在“命令提示符 属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:java程序”,单击“确定”按钮。进行了上面的设置后,打
16、开DOS 窗口时将直接进入“e:java程序”路径下。如果没有进行上述设置,可使用DOS 命令,直接输入“e:”按回车进入到e 盘,再输入“cd java”到e 盘的java 子目录下,再输入“cd 程序”即可到“e:java程序”路径下。(三) 安装java 虚拟机为了在浏览器中正常浏览java 程序,要在浏览器中安装java 虚拟机,或需要打开浏览器禁止的Java 功能。1下载并设置Java(TM) 软件Java (TM)软件中涉及 Web 交互的部分。它包括 Java 虚拟机和许多其它内容。有了它可以尽情享受 Internet 提供的最佳内容,包括游戏、体育、聊天、电子邮件、艺术、财务工
17、具等等。可到 下载免费的Java(TM)软件。下载完成后,打开Windows 的“控制面板”窗口,如图1.12 所示。图1.12在“控制面板”窗口双击图标,打开“Java(TM) Plug-in 控制面板”对话框,选择“浏览器”选项,单击选取“Microsoft Internet Explorer”复选框。再单击“应用”按钮,如图1.13 所示。2打开浏览器Java 的功能打开一个IE 窗口,在浏览器菜单栏单击“工具”“Internet 选项”命令,打开“Internet 选项”对话框,选择“高级”选项卡,选取“Java(sun)”下的单选框;选取“Microsoft VM”下的第一个选项“启
18、用Java JIT 编译器”,如图1.14 所示。图1.14选择“安全”选项卡,如图1.15 所示,单击“自定义级别.”按钮,将打开“安全设置”对话框。在“安全设置”对话框中把“Microsoft VM”中的java 权限设置为“安全等级-中”;把“脚本”中的“java 小程序脚本”设置为“启用”和“活动脚本”设置为“启用”。完成上面操作后,关闭浏览器再重新打开即可在浏览器中正常浏览java 小程序。(四) 使用EditPlus要编写Java 程序,需要有文本编辑器。可以使用操作系统提供的Edit 或记事本作为编辑器,最好选择EditPlus 编辑软件,它可以使用不同颜色显示Java 的关键字
19、和类名,简单好用,同时可以对程序进行编译和运行。1下载并安装EditPlus 编辑软件EditPlus 编辑软件的安装方法很简单,安装软件提示要求去做即可。2编写在屏幕上显示文字“欢迎你学习Java 语言!”的文件(Hello.java)。打开EditPlus 编辑软件,在其右边文本区输入如下代码。public class Hello public static void main(String args) System.out.println(欢迎你学习Java 语言!);图1.173将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。根据前面环境变量的设置,Hel
20、lo.java 应该保存在“e:java程序”的路径下。(五) 编译Java 源程序Java 源程序编写后,要使用Java 编译器(javac.exe)进行编译,将Java 源程序编译成可执行的程序代码。Java 源程序都是扩展名为 .java 的文本文件。编译时首先读入Java 源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为 .class。1 打开命令提示符窗口(MSDOS 窗口)进入Java 源程序所在路径。2 键入编译器文件名和要谝译的源程序文件名,如图1.18 所示。javac Hello.java,3
21、 按回车键开始编译(注意:文件名H 要大写,否则运行会出问题)。如果源程序没有错误,则屏幕上没有输出,键入 “dir”按回车键后可在目录中看到生成了一个同名字的.class 文件“Hello. class” ,如图1.18 所示。否则,将显示出错信息。图1.18(六) 运行Java 程序使用Java 解释器(java.exe)可将编译后的字节码文件Hello.class 解释为本地计算机代码。在命令提示符窗口或MSDOS 窗口键入解释器文件名和要解释的字节码文件名java Hello,按回车键即开始解释并可看到运行结果,如果看到如图1.19 所示结果,表明程序运行成功了,这是一种字符方式的应用
22、程序其结果显示在屏幕。图1.21(七) 使用EditPlus 编译与运行程序1打开EditPlus 编辑软件,单击“工具”“配置用户工具”菜单,如图1.22 所示。2在打开的“参数设置”窗口如图1.23、图1.24 所示配置编译与运行环境。(1)设置“编译”工具,单击“组名称”按钮确定工具组的名称。单击“添加工具”按钮,从弹出的快捷菜单中选择“程序文件”命令。在“菜单文字”栏中输入“编译”文字;在“命令”栏中输入或通过文件夹选择javac.exe文件的路径;在“参数”栏选择“文件名称”;在“初始目录”栏输入Java 程序所在的路径。(2)设置“运行”工具,同样的方法可以设置“运行”工具。请同学
23、自己练习。3编译与运行设置工具后,在“工具”菜单下的下拉菜单中就可以对Java 程序进行编译与运行操作了。(1)单击“工具”“编译”菜单。就开始对选中的程序进行编译处理。该过程要等一会儿。(2)编译通过后,可在右下方窗口看到编译结果。如果程序有问题,会看到提示。(3)编译成功后,可运行该程序。单击“工具”“运行”菜单。(4)运行成功后,可在右下方窗口看到程序的运行结果。(八) 浏览Applet 程序在下载的j2sdk1.4.2_01demoappletsClock 文件夹中用浏览器打开网页文件example1.html,就可以看到一个嵌入到Web 页面的Applet 开始运行,一个模拟时钟出现
24、在网页上,如图1.29 所示,显示出系统当前时间。实验二 Java 基本语法练习一、实验目的1 了解Java 的数据类型2 掌握各种变量的声明方式。3 理解运算符的优先级。4 掌握Java 基本数据类型、运算符与表达式、数组的使用方法。5 理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。6 通过以上内容,掌握Java 语言的编程规则。二、实验要求1. 编写一个声明Java 不同数据类型变量的程序。2. 编写一个使用运算符、表达式、变量的程序。3. 编写一个使用Java 数组的的程序。4. 编写表达式语句、复合语句的程序。5. 编写使用不同选择结构的程序。6. 编
25、写使用不同循环结构结构的程序。三、实验内容(一) 声明不同数据类型的变量1编写声明不同数据类型变量的程序文件LX2_1.java,源代码如下。public class LX2_1 public static void main(String args) byte b=0x55;short s=0x55ff;int i=1000000;long l=0xffffL;char c=a;float f=0.23F;double d=0.7E-3;boolean B=true;String S=这是字符串类数据类型;System.out.println(字节型变量 b = +b);System.out
26、.println(短整型变量 s = +s);System.out.println( 整型变量 i = +i);System.out.println(长整型变量 l = +l);System.out.println(字符型变量 c = +c);System.out.println(浮点型变量 f = +f);System.out.println(双精度变量 d = +d);System.out.println(布尔型变量 B = +B);System.out.println(字符串类对象 S = +S);2编译并运行该程序,结果如图2.1 所示。(二) 了解变量的使用范围1建立LX2_2.ja
27、va 文件,通过本程序了解变量的使用范围,源代码如下。public class LX2_2 static int i=10;public static void main(String args) int k=10;System.out.println(i=+i);System.out.println(k=+k);System.out.println(i=+i);System.out.println(k=+k);/编译时将出错,已出k 的使用范围2编译LX2_2.java此时会出现错误提示如图2.2 所示。因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。3修改上面的程序
28、。4成功运行该程序。思考:LX2_2.java 程序说明了什么问题?(三) 使用关系运算符和逻辑运算符1建立使用关系运算符和逻辑运算符的程序文件,源代码如下。class LX2_3 public static void main(String args) int a=25, b=20, e=3, f=0;boolean d=ab;System.out.println(a=25,b=20,e=3,f=0);System.out.println(因为关系表达式 a5)System.out.println(因为e 非0 且a/e 为8 大于5,所以输出 a/e +a/e);if (f!=0 & a/
29、f5)System.out.println(a/f = +a/f);elseSystem.out.println(因为f 值为0,所以输出 f = +f);2编译并运行该程序。(四) 使用数组1建立使用数组的程序,本程序建立了一个长度为5 的1 维数组,一个长度为12 的2 维数组,源代码如下。public class LX2_4 public static void main(String args) int a=new int5;int arr1=new int34;a0=10;a1=10+a0;a2=30;a3=40;a4= a1+ a2;arr100=0; arr101=1; arr1
30、02=2;arr110=3; arr111=4; arr112=5;arr120=6; arr121=7; arr122=8;System.out.println(a+0+ = +a0);System.out.println(a+1+ = +a1);System.out.println(a+2+ = +a2);System.out.println(a+3+ = +a3);System.out.println(a+4+ = +a4);System.out.println(arr1(+0+,+0+) = +arr100);System.out.println(arr1(+0+,+1+) = +ar
31、r101);System.out.println(arr1(+0+,+2+) = +arr102);System.out.println(arr1(+1+,+0+) = +arr110);System.out.println(arr1(+1+,+1+) = +arr111);System.out.println(arr1(+1+,+2+) = +arr112);2编译并运行程序,(五) 使用表达式语句与复合语句1 建立包含表达式语句程序,源代码如下。class LX2_5public static void main(String args) int k, i=3, j=4;k=20*8/4+
32、i+j*i;System.out.println(表达式(20*8/4+i+j*i)+k);2 建立包含复合语句程序,源代码如下。class LX2_6public static void main(String args) int k, i=3, j=4;k=i+j;System.out.println(在复合块外的输出 k=+k);float f;f=j+4.5F;i+;System.out.println(在复合块内的输出 f=+f);System.out.println(在复合块内的输出 k=+k);System.out.println(在复合块外的输出 i=+i);3 编译并运行上述
33、两个源程序。4 将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。思考:指出程序的复合结构以及变量的使用范围。(六) 使用选择语句1使用if.else 语句(1)程序功能:使用if.else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。(2)编写源程序文件,代码如下。public class LX2_7 public static void main(String args) boolean leap;int year=2005;if (year%4=0 & year%100!=0) | (year%400=0) / 方法1System.out.println(year+ 年是闰年);elseSystem.out.println(year+ 年不是闰年);year=2008; / 方法2if (year%4!=0)leap=false;else if (year%100!=0)leap=true;else if (year%400!=0)leap=false;elseleap=true;if (leap=true)