Java程序设计实验指导书.docx
- 文档编号:29366309
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:32
- 大小:74.09KB
Java程序设计实验指导书.docx
《Java程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实验指导书.docx(32页珍藏版)》请在冰豆网上搜索。
Java程序设计实验指导书
《Java程序设计》
实验指导书
武汉科技大学信息科学与工程学院
《Java程序设计》实验教学大纲
实验课程名称:
Java程序设计英文名称:
TheJavaProgrammingLanguage
实验课程性质:
非独立设课应开实验学期:
6
课程编码:
0402004实验学时数:
10
适用专业:
电子信息工程
一、实验教学目的和要求
《JAVA程序设计》是一门实践性很强的专业课程。
通过上机实验,不仅可以帮助学生较好地掌握Java语言和面向对象程序设计的基本概念、基本方法和技巧,同时也可培养学生独立设计程序的能力,理解面向对象的编程思想。
实验教学目的:
1.使学生通过实验,验证书本和课堂教学内容:
逐步理解、体会、消化、巩固和补充课堂所学主要内容;
2.培养学生设计与动手能力:
通过设计性的实验任务,通过实践环节理解Java语言的基本结构和程序设计方法。
通过亲手编程掌握Java语言编程的方法,从而提高学生的分析问题、解决问题的能力和动手能力。
通过实验,要求学生应达到以下实验能力与标准:
1.熟练掌握Java程序的编辑、编译、运行步骤及程序调试的方法;
2.熟练运用Java语言进行面向对象程序设计;
3.深入理解面向对象的封装、继承和多态等特性
4.利用Java语言进行异常处理
5.能利用Java语言进行磁盘数据文件的建立及读写操作编程。
二、主要仪器设备(所开实验的主要仪器设备)
每个学生上机使用一台PC机进行程序开发,PC机的硬件、软件环境如下:
1)硬件:
CPUP43.0GHZ256M内存,80G硬盘空间。
2)软件:
操作系统:
WindowsXP
开发工具:
Editplus或者Jcreator、Jsdk1.4.1_02软件开发包
三、实验项目名称和学时分配
序号
实验项目名称
学时
分配
实验
属性
实验
类型
实验者类别
必开/选开
1
熟悉Java程序的编辑、编译和运行环境
2
专业类
验证性
本科生
必开
2
初步的面向对象的程序设计
2
专业类
验证性
本科生
必开
3
面向对象程序设计的继承、多态等特性的练习
2
专业类
设计性
本科生
必开
4
异常类的定义及处理
2
专业类
验证性
本科生
必开
5
文件的读/写操作
2
专业类
验证性
本科生
必开
四、实验课考核方式
1.实验报告:
每位同学必须独立书写实验报告,注意:
不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
实验报告的内容应包括以下几个部分:
1)按照实验内容和实验步骤要求完成实验任务后,若程序已通过实验指导教师验收,则只在报告中重点给出调试分析过程描述:
包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);若程序未完全通过验收,则需再此基础上提交包含详细注释的源程序清单。
2)根据思考题要求,重点描述需求分析、概要设计和详细设计过程,并提交包含详细注释的源程序清单,最后详细描述程序调试分析过程。
2.考核方式
2.1实验课成绩根据学生的实验预习、实验纪律、实验动手能力、实验结果和实验报告等几个部分进行综合评定,并给出优、良、中、及格和不及格共五档成绩。
2.2实验课成绩占课程总成绩的30%。
五、实验指导书及主要参考书
[1]蔡翠平主编唐大仕编著,JAVA程序设计(修订本),北方交通大学出版社清华大学出版社,2007年.
[2]侯捷译,JAVA编程思想(第二版),机械工业出版社,2002.
[3]丁振凡,Java语言实用教程,北京邮电大学出版社,2005.
[4]丁振凡,Java语言实用教程实验指导,北京邮电大学出版社,北京,2006
实验一熟悉Java程序的编辑、编译和运行环境
一、实验目的
1)掌握设置Java程序运行环境的方法,并熟悉Java程序的集成开发工具。
2)掌握编写、编译、运行简单的JavaApplication和JavaApplet程序的方法步骤,初步了解java程序的特点和基本结构。
3)掌握Java基本数据类型、运算符与表达式。
4)理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
二、实验内容
1)安装和配置JDK软件开发包。
2)编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,使之能够输出字符串信息“HelloWorld!
”。
3)编写一个JavaApplet,使之能够在浏览器中显示“welcometoJavaAppletWorld”的字符串信息。
三、实验仪器、设备及材料
每个学生上机使用一台PC机进行程序开发,PC机的硬件、软件环境如下:
1)硬件:
CPUP43.0GHZ256M内存,80G硬盘空间。
2)软件:
操作系统:
WindowsXP
开发工具:
Editplus或者Jcreator、Jsdk1.4.1_02软件开发包
四、实验原理
1)Javaapplication和Javaapplet程序
java程序可以分为两类:
javaapplication和javaapplet。
前者是完整的应用程序,需要独立的解释器来解释运行;后者则是嵌在网页中的非独立程序,由浏览器所自带的java解释器来解释运行。
2)Java程序开发调试过程。
图1.1Java程序开发流程
3)JavaApplication程序的编辑、编译和运行步骤
(1)在编辑器中输入源程序,文件名与公共类相同,文件后缀为.java(如HelloWorldApp.java),并将其保存到工作目录(如e:
\java目录)。
(2)编译源程序
e:
\java>
C:
\ProgramFiles\Java\jdk1.6.0_01\bin\javac-d.HelloWorldApp.java
若编译通过,在e:
\java目录下会生成一个HelloWorldApp.class文件
(3)程序的运行
运行包含main方法的主类所编译生成的字节码文件,不用加.class后缀
e:
\java>
C:
\ProgramFiles\Java\jdk1.6.0_01\bin\java–classpath.HelloWorldApp
4)JavaApplet程序的编辑、编译和运行步骤
(1)在编辑器中输入源程序,将其保存为与公共类同名的java文件。
(2)编译源程序并生成一个和源文件同名且后缀为class的字节码文件。
(3)生成一个Html文件,并在其中的标记中嵌入Applet字节码文件。
●CODE:
指明嵌入Html文件中的JavaApplet字节码文件的文件名
●HEIGHT:
指明JavaApplet程序在Html文件所对应的Web页面中占用区域的高度。
●WIDTH:
指明JavaApplet程序在Html文件所对应的Web页面中占用区域的宽度。
(4)用支持Java的浏览器打开Html文件,就能看到Applet程序的运行效果。
另外JDK中还提供了一个AppletViewer工具,也可用来浏览Html中的Applet。
五、实验步骤
1)设置环境变量
步骤(3):
设置环境变量。
1.单击“开始”→“所有程序”→“附件”→“命令提示符”打开DOS窗口,在命令提示符下输入
setpath=%path%;C:
\ProgramFiles\Java\jdk1.6.0_01\bin
执行完后输入
“java”或“javac”,回车后,如果出现其用法参数提示信息,则说明安装正确。
2.设置DOS起始位置
为了在打开DOS窗口时可以直接进入包含你开发的java程序的路径下,下面以WindowsXP/2000为例说明设置过程。
●首先建立一个存放java源程序的文件夹。
如将实验中建立的java源程序都存放在“e:
\java”文件夹中。
●单击“开始”→“所有程序”→“附件”→“命令提示符”,右键选择“命令提示符”选项,在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符属性”对话框。
●在“命令提示符属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:
\java\”,单击“确定”按钮。
进行了上面的设置后,打开DOS窗口时将直接进入“e:
\java\>”路径下。
注:
如果没有进行上述设置,可使用DOS命令,直接输入“e:
”按回车进入到e盘,再输入“cdjava”到e盘的java子目录下。
2)编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序。
步骤
(1):
编写、编译Java源程序。
打开MyEclipse,新建一个java文件,键入如下程序代码:
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{System.out.println("Hello,World!
");}
}
将文件命名为Hello.java,注意保存文件Hello.java到路径“e:
\java\”下。
步骤
(2):
编译Java源程序
Java源程序编写后,要使用Java编译器(javac.exe)将Java源程序编译成字节码文件。
Java源程序都是扩展名为.java的文本文件。
编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。
语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径e:
\java。
键入编译器文件名和要编译的源程序文件名,具体如下:
javac-dclassHello.java
按回车键开始编译(注意:
文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在当前目录中看到生成了class子目录,在class子目录下有一个同名字的.class文件即“Hello.class”。
否则,将显示出错信息。
步骤(3):
运行Java程序
使用Java解释器(java.exe)可将编译后的字节码文件Hello.class解释为本地计算机代码。
在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名:
java–classpathe:
\java\classHello按回车键即开始解释并可看到运行结果。
3)编写一个JavaApplet,使之能够在浏览器中显示“welcometoJavaAppletWorld”的字符串信息。
步骤
(1):
编写HelloWorldApplet.java程序文件,源代码如下。
importjava.applet.*
importjava.awt.*
publicclassHelloWorldAppletextendsApplet
{
publicvoidpaint(Graphicsg)
{g.drawString(“welcometoJavaAppletWorld,40,20);}
}
步骤
(2):
保存文件为e:
\java\HelloWorldApplet.java。
编译该文件,生成HelloWorldApplet.class字节码文件。
步骤(3):
编写显示HelloWorldApplet.calss的页面文件HelloWorld.html,代码如下。
/java/classcode=HelloWorldApplet.calsswidth=300height=120> 步骤(4): 在提示符窗口调用小程序查看器浏览HelloWorld.html页面,观察Applet应用程序。 六、实验报告要求 每位同学必须独立书写实验报告,注意: 不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。 实验报告的内容应包括以下几个部分: 3)按照实验内容和实验步骤要求完成实验任务后,若程序已通过实验指导教师验收,则只在报告中重点给出调试分析过程描述: 包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);若程序未完全通过验收,则需再此基础上提交包含详细注释的源程序清单。 4)根据思考题要求,重点描述需求分析、概要设计和详细设计过程,并提交包含详细注释的源程序清单,最后详细描述程序调试分析过程。 七、实验注意事项 1)每个同学必须按时参加实验,并且每次实验前提交程序代码初稿,否则不能进行实验。 2)实验中严禁随意拷贝其他同学的程序或给其他同学拷贝。 3)在实验过程中,爱惜实验器材,避免对实验器材造成不必要的损害。 如发生损坏照价赔偿。 4)在实验用机上使用移动存储设备之前,必须用杀毒软件进行检测,否则不能使用。 5)每位同学完成实验任务后,必须经过实验指导老师验收后方可离开。 八、思考题(任选一题完成) 1)编程实现: 随机产生20个整数存放到数组中,然后对其按照升序进行排序,最后对排序前后的数组按照每5个数的方式输出。 2)编程实现: 产生一个1-12之间的随机整数,并根据该随机整数的值,输出对应月份的英文名称。 提示: 产生0-1之间的随机数方法一: Math.random() 产生一个随机整数方法二: importjava.util.* …… Randomr=newRandom(); Math.abs(r.nextInt()) 实验二初步的面向对象的程序设计练习 一、实验目的 1)掌握类和构造方法的定义。 2)掌握创建类实例的方法。 3)初步掌握面向对象的编程思想 二、实验内容 1)编写程序实现如下功能: 已知学生类有域变量(学号、班号、姓名、性别、年龄)和方法(获得学号、获得班号、获得性别、获得年龄、修改年龄,显示基本信息),定义一组学生对象,并初始化他们的基本信息,然后依次输出。 2)编写程序实现如下功能: 已知学生类有域变量(姓名、考号、综合成绩、体育成绩)和方法(获取综合成绩、获取体育成绩、显示基本信息),学校类有静态变量(录取分数线)和方法(设置录取分数、获取录取分数线),录取类有方法(获取学生是否符合录取条件,其中录取条件为综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分)。 现要求编写程序输出一组学生对象中被某学校录取的学生基本信息。 三、实验仪器、设备及材料 每个学生上机使用一台PC机进行程序开发,PC机的硬件、软件环境如下: 1)硬件: CPUP43.0GHZ256M内存,80G硬盘空间。 2)软件: 操作系统: WindowsXP 开发工具: Editplus或者Jcreator、Jsdk1.4.1_02软件开发包 四、实验原理 1)类、域、方法 类体中包括域和方法,都是类的成员。 一个类可以定义多个域和方法。 (1)域也就是类的静态属性,也称为变量、成员变量等,格式为: 类型名域名; 在定义域变量前,还可以加修饰符。 (2)方法是类的动态属性。 Java的方法与其它语言中的函数类似。 由方法头和方法体组成: 修饰符1……返回类型方法名(形参列表)throws异常列表 { 方法体语句; } 其中,形参列表格式为: 形参类型形参名1,形参类型形参名2 2)类和对象 (1)类(class): 抽象的集合概念。 类包括系统类库中已定义好的类和用户自定义的类 (2)对象(实例instance): 实际个体。 创建某个类的具体对象(类似变量声明),具体定义格式为: 类名对象变量=new类名([参数]); (3)构造方法: 构造方法的名字与类名相同。 创建对象时自动调用,并对对象进行初始化操作。 注意: 构造方法前面没有返回类型定义,它没有返回值,也不是void。 [不能return];JAVA每个类都至少有一个构造方法[系统默认无参数构造方法];一旦定义了构造方法,系统不再提供默认构造方法。 (4)对象的使用: 要访问或调用一个对象的域或者方法,使用.操作符。 一般形式: 引用对象变量名.域/方法名;如p.sayHello(); 由于只能用对象变量来访问这个对象的域或方法,不通过引用变量就没有办法访问,体现了面向对象的“封装性”。 3)静态域和静态方法 (1)静态域 用static修饰的域属于类的静态域(静态量,类变量),不用static修饰的为实例变量(实例域)。 静态域的特点如下: ●它们是类的域,不属于任何一个类的具体对象实例。 它保存在类的内存区域的公共存储单元。 ●对于该类的任何一个实例对象,静态域是一个公共的存储单元。 ●任何一个类的对象访问它,取到的都是相同的值; ●任何一个类的对象修改它,那么也是在对同一个内存单元进行操作。 (2)静态方法 用static修饰的方法属于类的静态方法,又称为类方法。 不用static修饰的方法为实例方法。 类方法的本质是该方法属于整个类,而不是属于某个实例。 静态方法具有如下特点: ●static方法是属于整个类的,它在内存中的代码段将随着类的定义而进行分配和装载。 而非static的方法是属于某个对象的,在这个对象创建时,对象的方法在内存中有自己的代码段。 ●static方法不能操纵属于某个对象的成员变量,只能处理属于类的成员变量,即只能处理static域和方法。 ●类方法中不能访问实例变量,也不能使用this或super。 ●调用类方法可以使用类名,也可以用具体对象名。 五、实验步骤 1)编写程序实现如下功能: 已知学生类有域变量(学号、班号、姓名、性别、年龄)和方法(构造方法、获得学号、获得班号、获得性别、获得年龄、修改年龄,显示基本信息),定义一组学生对象,并初始化他们的基本信息,然后依次输出。 步骤 (1): 定义类Stduent,并添加如下域变量: Stringsno;Stringclassno;Stringname;charsex;intage; 步骤 (2): 在类Student中添加如下方法,并编写代码实现具体方法的功能: Student(Stringsno,Stringclassno,Stringname,charsex,intage){……} StringgetSno(){……} StringgetClassno(){……} StringgetSex(){……} intgetAge(){……} voidupdateAge(intage){……} voidprint(){……} 步骤(3): 定义一个包含main方法的Application程序类TestStudent,初始化一个学 生类对象数组,并利用循环语句显示所有学生的基本信息。 步骤(4): 保存文件名为TestStudent.java,然后编译、调试和运行程序。 2)编写程序实现如下功能: 已知学生类有域变量(姓名、考号、综合成绩、体育成绩)和方法(获取综合成绩、获取体育成绩、显示基本信息),学校类有静态变量(录取分数线)和方法(设置录取分数、获取录取分数线),录取类有方法(获取学生是否符合录取条件,其中录取条件为综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分)。 现要求编写程序输出一组学生对象中被某学校录取的学生基本信息。 步骤 (1): 定义类Stduent,并添加如下域变量: Stringname;Stringid;floatcomScore;floatscore; 步骤 (2): 在类Student中添加如下方法,并编写代码实现具体方法的功能: Student(Stringname,Stringid,floatcomScore,floatscore){……} floatgetcomScore(){……} floatgetscore(){……} voidprint(){……} 步骤(3)定义类School,并添加静态变量 staticfloatscoreLine; 添加静态方法 staticfloatgetScoreLine(){……} staticvoidsetScoreLine(floatscore){……} 步骤(4)定义一个Application程序类Enroll并添加方法: publicstaticvoidmain(Stringargs[]){……} staticbooleanisEnroll(Students){……} 步骤(5)保存文件名为Enroll.java,然后编译、调试和运行程序。 六、实验报告要求 每位同学必须独立书写实验报告,注意: 不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。 实验报告的内容应包括以下几个部分: 1)按照实验内容和实验步骤要求完成实验任务后,若程序已通过实验指导教师验收,则只在报告中重点给出调试分析过程描述: 包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);若程序未完全通过验收,则需再此基础上提交包含详细注释的源程序清单。 2)根据思考题要求,重点描述需求分析、概要设计和详细设计过程,并提交包含详细注释的源程序清单,最后详细描述程序调试分析过程。 七、实验注意事项 1)每个同学必须按时参加实验,并且每次实验前提交程序代码初稿,否则不能进行实验。 2)实验中严禁随意拷贝其他同学的程序或给其他同学拷贝。 3)在实验过程中,爱惜实验器材,避免对实验器材造成不必要的损害。 如发生损坏照价赔偿。 4)在实验用机上使用移动存储设备之前,必须用杀毒软件进行检测,否则不能使用。 5)每位同学完成实验任务后,必须经过实验指导老师验收后方可离开。 实验三面向对象程序设计的继承、多态等特性的练习 一、实验目的 1)掌握类的继承机制。 2)熟悉类中成员变量和方法的访问控制。 3)熟悉方法或构造方法多态性。 4)熟悉接口的定义方法。 二、实验内容 1)编写程序实现如下功能: 已知Person类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。 定义一组学生对象,并初始化他们的基本信息,然后依次输出。 2)输入课本例5-4的源程序,观察其运行结果,然后将Shape类分别定义为一个抽象类和接口,然后将源程序进行修改,让其实现相同功能。 三、实验仪器、设备及材料 每个学生上机使用一台PC机进行程序开发,PC机的硬件、软件环境如下: 1)硬件: CPUP43.0GHZ2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 实验 指导书