ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.08MB ,
资源ID:3248532      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3248532.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java实验指导书版.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java实验指导书版.docx

1、Java实验指导书版第一部份 绪论 2本课程实验的作用与任务 2本课程实验的基础知识 2本课程实验教学项目及其教学要求 2第二部份基本实验指导 3实验一:Java基本语法 3实验三:Java面向对象程序设计(一) 5实验五:Java常用类 9实验七:Java集合 13实验九:GUI图形用户界面 16第一部份 绪论本课程实验的作用与任务使学生进一步深刻理解Java语言基本概念、语法规则及程序结构,熟练掌握Java语言程序设计的基本方法,提高利用Java在网络环境下开发、设计应用程序的能力,从而进一步培养学生的创新能力和解决实际问题的能力。熟悉JDK工具的编程和调试环境;熟练掌握选择和循环结构的程

2、序设计;熟练掌握面向对象的程序设计思想,包括系统类的应用和用户自定义类;充分理解类的三种的特性:封装、继承和多态,特别是通过接口和抽象类理解多态;掌握图形用户界面的设计,特别是事件处理;掌握包的使用;掌握常用的输入输出流类的应用。最后能根据实验的要求认真完成实验报告。本课程实验的基础知识Java的基本数据类型包括:byte,short,int,long,double,char。Java的数组属于引用类型的数据,是将相同类型的数据按顺序组成的一种符合数据类型。Java的运算符有算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符,特别要注意它们的优先级。Java的控制语句有if语句、swit

3、ch语句、for语句、while语句、do-while语句。类是组成Java程序的基本要素,类有两个重要的成员:成员变量和方法。类是创建对象的模板,类将对象的属性和功能封装为一个整体。成员变量和类变量的区别、实例方法和类方法的区别、方法的重载、成员的访问权限等都是实验课程所依据的重要理论。继承、多态、接口、包及内部类都是Java中非常重要的概念。Java使用“流”来读写数据。Java的输入输出工作是通过FileInputStream类、FileReader类、BufferedReader类、ByteArrayInputStream类、ByteArrayOutputStream类等完成的。要想使

4、用Java设计图形用户界面,必须掌握Javax.swing和Java.awt包中的所有容器类和组件类的用法。本课程实验教学项目及其教学要求序号实验项目名称学时教学目标、要求1开发运行环境及Java程序调试22Java程序流程控制23Java面向对象程序设计(1)24Java面向对象程序设计(2)25Java常用类26Java集合27Java异常处理程序设计28Java输入/输出流操作29图形用户界面设计210多线程编程技术2参考文献JAVA程序设计实验指导,陈轶等编著,清华大学出版社,2006年。JAVA语言教程(第1版),王伦津等编 ,人民邮电出版社,2001年。 Java程序设计教程(第5

5、版), Deitel著,清华大学出版社,2004年。Java编程思想(第3版),Bruce Eckel著,机械工业出版社,2005年。第二部份基本实验指导实验一:Java基本语法实验目的 熟悉基本数据类型、变量的命名约定和常量的表达 掌握数据类型的自动转换与强制转换 掌握运算符与表达式的用法 掌握算术运算、关系运算及逻辑运算的优先关系 掌握位运算的使用方法实验步骤一、 常量与变量的声明与使用1. 分析并通过程序验证以下表达式: (1) short s = 33L; (2) int i = 33L; (3) longl = 33L; (4) float f = 33L; (5) double d

6、 = 33L;2. 首先分析判断能否编译成功,并在表2-1-1中填写预测结果:表2-1-1 实验结果3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。 根据记录的实验结果回答以下问题: 哪些表达式能编译成功?为什么? 哪些表达式不能编译成功?为什么?如何修改表达式才能编译成功?二、 运算符与表达式定义两个变量a和b为: (1) int a = 10; (2) int b = 3;(一) 算术运算符操作练习1. 求变量a和b的和、差、乘积、商和余数,并在下表中填写预测结果:表2-2-1实验结果2. 使用Eclipse开发工具,编写上述代码,编译

7、运行代码,查看程序执行结果,在上表中填写验证结果。(二) 运算符优先级操作练习1. 分析表达式,并在下表中填写预测结果,且比较运算符优先关系。表2-2-2实验结果2. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。 根据记录的预测结果和验证结果,分析+和+的运算优先级关系。(三) 位运算符操作练习1. 求出a与b的各种位运算,并在下表中填写预测结果:表2-2-3 实验结果2. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,在上表中填写验证结果。 重新定义变量a的值,令a=-10,再次验证“ab”和“ab”的结果,并分

8、析“ab”与“ab”的区别。实验二 java程序流程控制实验目的:1. 理解Java 程序的三种基本结构,即顺序结构、分支结构和循环结构2. 掌握用于分支的ifelse、switchcase语句3. 掌握用于循环的for、while、dowhile语句4. 熟悉break、continue作用实验步骤:一. if语句练习1. 编写程序实现判断输入的年份是否为闰年。 提示闰年:如果一个年份能被4整除并且不能被100整除,或者能被400整除的就是闰年。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,并在下表中填写验证结果,是闰年填“Y”,不是闰年填

9、“N”。表2-1-1 实验结果 如何将上述代码中的(1)至(6)代码改写为一条if语句实现。二. switch语句练习1. 编写程序实现学生成绩等级划分,输入考试成绩等级,程序会相应输出相应的百分制分数段,要求需使用switch语句。 提示if语句和switch语句结合使用。 等级划分如表3-1-2所示:表3-1-2 学生成绩等级划分2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,并输入测试case,对照等级划分表验证程序结果。三. for语句练习1. 编写程序,输出1到100之间,所有可以被3整除又可以被7整除的数。2. 源代码如下:3. 使

10、用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分别使用while和do_while循环语句改写本程序,并上机运行。四. 程序流程控制语句综合应用 根据以下要求,运用程序流程控制语句打印“田”字。 程序要求:根据输入“田”字的长度进行打印输入,长度须为奇数,并且大于等于5,否则予以提示。运行效果图如下: 提示输入整型变量的语句如下代码所示:实验三:Java面向对象程序设计(一)实验目的 掌握类的定义; 掌握构造方法的使用;掌握对象的创建。 掌握静态变量与静态方法的使用;了解静态变量和成员变量的区别。 熟悉访问修饰符的作用;掌握访问修饰符的使用方法。 掌握方法的重载;掌

11、握访问器get/set方法。实验步骤一、 类和对象的创建1. 创建一个圆类,成员变量有半径radius和圆周率pi,提供计算圆面积的方法,并在main方法中创建圆类的对象,调用其计算面积的方法进行测试。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 试述程序中两个类的各自作用。 类Circle都封装了什么?求圆面积的初始数据是通过哪个方法实现的?请修改程序采用构造函数的方法初始化数据。 类Circle是如何声明的?在类中都声明了什么?在主函数中是如何创建Circle类对象的?二、 静态变量和静态方法的设计(一). 静态变量和实例变量练习1.

12、创建一个类,类名为StaticVariableTest,包含static变量和实例变量,类型为int型,在main方法中分别调用这2个变量并且输出结果。2. 部分源代码如下:3. 将上述代码中的main方法补充完整后,编译运行代码,查看程序执行结果。 根据完善后的源码,分析调用静态变量和实例变量有什么不同?(二). 静态方法和实例方法练习1. 创建一个类,类名为StaticMethodTest,包含一个静态方法和一个实例方法,在main方法中分别调用这个两个方法进行测试。2. 部分源代码如下:3. 将上述代码中的main函数补充完整,编译运行代码,查看程序执行结果。 根据完善后的源码,分析如何

13、调用静态方法和实例方法?三、 访问修饰符与方法的重载(一). 访问修饰符练习1. 创建一个Person类,在该类中用不同的访问修饰符设立不同的person属性,再创建一个PersonTest类,包括main方法,在此类中分别访问Person类中各个属性。2. 源代码如下:3. 先填写下面的表格,在预测结果中,如果能打印输出,填写程序输出结果,否则填“N”。 记录程序运行结果。表4-3-1 预测和验证结果4. 使用Eclipse开发工具,编写上述代码,编译运行代码。在上表中填写程序验证结果。 访问private变量时,编译会出现什么问题,为什么? 通过什么方式能访问private变量?编程实现访

14、问Person类中的private变量。(二). 方法重载练习1. 给出一个OverloadTest类,并定义了一个amethod()方法,分析A)、B)、C)、D)和E)五个方法能否正确编译;2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 根据程序执行结果分析类中A)、B)、C)、D)和E)五个方法哪些能编译,哪些不能编译,为什么?实验四:面向对象的程序设计(二)实验目的:1. 掌握类的继承、方法覆盖和变量的隐藏。2. 理解父类与子类的关系及创建方法。3. 掌握子类对象创建过程中与父类构造函数的关系。4. 了解抽象类与抽象方法。5. 掌握多

15、态的实现机理及方法。6. 掌握接口的定义和使用7. 了解接口的设计方法8. 掌握包的定义和使用实验步骤:一. 继承类的访问修饰符练习1. 定义一个父类,有不同访问级别的成员变量和方法;2. 源代码如下:3. 再定义一个子类,继承上面的父类,访问父类的成员变量和成员方法。4. 子类源代码如下:5. 分析上面main方法的每一步中,哪些成员变量和方法可以访问,哪些不能访问?填写下面表格中的预测结果,可以访问的填“Y”,不可以访问的填“N”。表4-1-1 实验结果6. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果,并填写表5-1-1中的验证结果。二. 成员变量的隐藏和方法

16、覆盖练习1. 以下程序具有继承、成员的覆盖与隐藏的概念。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 子类Son中隐藏了父类Father哪个变量?覆盖了哪个方法? 根据上述程序,分析方法重载与方法覆盖的区别。三类的多态性的练习1. 下面源代码演示了多态的各种特性。2. 源代码如下: 3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述代码中的who.var和who.staticVar、who.method()和who.staticMethod()的输出结果有什么不同?为什么存在这种现象? 分析以下代码,

17、编译时会有什么问题?为什么? 分析以下代码,如何能让who访问Sub类的成员? 分析以下代码,运行会有什么问题?为什么?四接口相关练习1. 定义一个rec_Area_Peri接口,里面有两个方法getArea()和getPerimeter(),分别表示“计算面积”和“计算周长”;再定义一个Rectangle类,实现接口rec_Area_Peri。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 在实现类Rectangle中注释掉一个方法后进行编译,看发生了什么?为什么? 在实现类Rectangle中将各实现方法前的public修饰符去掉再进行编

18、译,看发生了什么?为什么? 将接口rec_Area_Peri中定义的两个方法前加上abstract修饰符再编译,看对程序有影响否?为什么? 将接口rec_Area_Peri中定义的两个方法拆分定义成两个接口,即每个接口只定义一个方法,程序将如何修改?五. 包的相关练习1. 创建两个java文件,一个是mypack.java文件,定义两个类classA和classB,类修饰符为默认。另一个是主类文件TestPackage.java,在该类中使用classA和classB。两个java文件都在package1包中。2. mypack.java源代码如下:3. TestPackage.java源代码

19、如下:4. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 将主类文件TestPackage.java封装在另一个包mypackage2,再进行编译,看编译结果提示什么结果? 以上条件不变,在主类class TestPackage加进import mypackage1.*语句,再编译,看是什么编译错误? 将类classA和classB修饰为public再编译,看发生了什么?为什么? 将类classA和类classB分别放在两个文件中再编译,再看TestPackage还存在什么错误? 将方法aaa()和bbb()修饰为public,重新编译,所有错误是否消失?无错误后

20、可运行主类,观察运行结果。实验五:Java常用类实验目的 掌握String类的构造方法和常用方法;掌握StringBuffer类的构造方法和常用方法。了解Math类常用方法的使用;了解静态导入方法的使用。掌握Date类和DateFormat常用方法的使用;掌握Calendar类常用方法的使用。实验步骤一、 String类1.给定一个字符串“abcdefghijklmnopqrstuvwxyz”,要求用两种方法进行倒序输出。 提示(1)转换成字符数组,进行倒序输出;(2)调用StringBuffer类的方法。2. 源代码如下: 提议学好Java,要经常查看API文档,而且要会查看API文档,熟悉

21、API中的常用包下的常用类。通过查看API去了解String和StringBuffer中的方法,就可以完成此题了。3. 经过上述分析,编写代码,编译运行代码,输出为“zyxwvutsrqponmlkjihgfedcba”。 分析上述程序,如何将字符串转换为字符数组? 转换之后如何进行输出,才能得到想要的倒序结果? 如何通过String参数构建StringBuffer对象? StringBuffer是否有方法可以直接进行倒序输出?二、 Math类1.给定如下两个整数: (1) int var1 = 12; (2) int var2 = 3;2. 完成下列表格中的预测结果:表7-2-1 预测和验证

22、结果3. 使用Eclipse开发工具,编码实现通过Math类中的max()方法和min()方法求最大值最小值,并根据程序执行结果填写上表的验证结果。 提示Math中的方法都是static类型的,可以通过Math.xxx()的形式进行调用方法。 将代码修改为静态导入的方式,说明采用静态导入方式的优势。三、 Date类和Calendar类(一). Date类和DateFormat类练习1. 构造Date类对象获取系统日期,并格式化输出如下形式,如:“2012-12-20 星期六”。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 如果要输出为“20

23、12-12-20 星期六 12:12:12”的形式应该如何做呢?(二). Calendar类练习1. 利用Calendar类输出2011年4月的日历页。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 考虑如何将程序修改为能根据当前日期改变的日历页,并且能够标识当前日期? 实验六:java异常处理实验目的:1. 了解Java异常处理机制的优点2. 了解Java异常的种类3. 掌握异常的捕获与处理4. 掌握异常的抛出5. 熟悉用户自定义异常6. 了解异常处理原则实验步骤:一 异常捕获和处理的练习1. 下面源代码要捕捉的异常是除数为零和数组下标越界

24、。通过修改a和c下标值体验程序。2. 源代码如下:3. 使用Eclipse开发工具,编写并完善上述代码,编译运行代码,查看程序执行结果。 按下条件分别修改数据,编译后运行,观察输出结果,分析在trycatch块里哪些语句没有被执行,为什么?块外哪些语句可被执行到,为什么? (1) 修改a=0,保持c2=200; (2) 保持a=10,修改c3=200; (3) 修改a=0,修改c3=200。二自定义异常的定义和使用的练习1. 设计两个数求商的程序,并设定一个异常类,判断两数相除时,除数是否为零,当除数为零时将抛给自定义异常类,并输出除数为零。2. 部分源代码如下:3. 分析上述代码,将divi

25、sion方法体中的代码补充完整,判断输入的除数是否为0。如果为0,要抛出DivisorIsNotZeroException异常;如果不为0,则计算这个数的商。并按要求创建自定义异常类DivisorIsNotZeroException。在main方法中已经给出如何输入数据和调用所写方法。4. 代码完善后,编译运行代码,输入下表数据进行验证,如果抛出异常填“Y”,否则填“N”。表6-2-1 测试数据 分析自定义异常是如何创建的?实验七:Java集合实验目的 掌握Collection和Iterator接口的使用 掌握List集合的使用 了解集合的不同遍历方式 掌握Map、HashMap集合的使用 了

26、解Map集合的常用方法 理解Map集合的实现原理实验步骤一、 Collection集合1. 创建一个集合,装20个不同的随机数(1-100),然后将排序结果,以及排序后的倒序结果输出。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述代码是如何判断列表list中是否存在元素的?若选用其他方式如何实现? 在TestList类中编写一个方法(方法名为ListOut),选用Iterator和增强for循环遍历方式输出列表list的元素。二、 Map集合1. 做一个map集合,key值100以内随机十个不同的数,value值26个字母随机取,输

27、出key值和value值。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 通过什么方式能对Map里的元素进行有规则的排序?比如将上述代码中的map值对象进行排序。实验八:java输入输出流操作实验目的:1. 了解字节流和字符流2. 了解流的分类实验步骤:一Java输出流操作1. 求2-200间的素数,将结果通过输出流保存在“D:prime.dat”文件中;2. 源代码如下: 3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。二. Java输入流操作1. 通过输入流操作,将上题中保存到“D:prime.dat”中的

28、素数读出来,并在控制台打印出来。2. 源代码如下: 3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。三. Java输出流和输入流综合应用 通过Java输出流和输入流操作练习,实现将“D:prime.dat”文件复制到“D:newprime.dat”。 提示先将prime.dat中的内容通过输入流读取进来,再将读取到的内容通过输出流输出到目标文件中。实验九:GUI图形用户界面实验目的 了解GUI 了解AWT常用容器 掌握AWT常用组件的用法 了解GUI常用布局管理器的种类及用法 掌握常用事件处理实验步骤一、 AWT组件及其事件处理1. 模拟计算器的布局,如图9-1-1所示。图9-1-1 计算器布局分析计算器整体布局包括两个输入文本框、一个结果输出框、加、减、乘、除、平方和开方按钮。2. 源代码如下:3. 使用Eclipse开发工具,编写上述代码,编译运行代码,查看程序执行结果。 分析上述程序,采用了哪些类型的监听器?采用什么方式实现监听接口? 采用了什么布局管理器,各组件按什么次序加入组件的? 分析事件执行方法actionPerfor

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2