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