java实验.docx
- 文档编号:3404580
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:40
- 大小:382.93KB
java实验.docx
《java实验.docx》由会员分享,可在线阅读,更多相关《java实验.docx(40页珍藏版)》请在冰豆网上搜索。
java实验
窗体顶端
学号后5位:
>
窗体底端
实验1 JAVA的基本程序结构
实验2 类的封装、继承和多态
实验3 异常处理
实验4 I/O流编程
实验5 图形用户界面
实验6 Applet程序编程
实验7 数据库编程
实验8 网络程序编程
实验9 Java系统类实验
实验10 流操作
504机房交实验504机房交作业504机房测试用 502机房交实验 502机房交作业502机房测试用517机房测试
计14101班 交作业 作业上交情况 作业雷同情况 交实验 实验上交情况 实验雷同情况
计14102班 交作业 作业上交情况 作业雷同情况 交实验 实验上交情况 实验雷同情况
网14101班 交作业 作业上交情况 作业雷同情况 交实验 实验上交情况 实验雷同情况
网14102班 交作业 作业上交情况 作业雷同情况 交实验 实验上交情况 实验雷同情况
资源下载 JDK1.6 JavaAPI规范 JavaTutorial(到126邮箱下载) Java教案 Java键盘输入的方法
Java电子书 网页课件 实验报告格式要求 503、504机房环境变量设置文件 ultraedit
Jcreator4.0破解版 Eclipse3.2 飞鸽传书 电子作业提交要求 shutdown
访问Eclipse网站 Java应用各种例子 Java教程 Netmeeting
相关新闻 1.Java应用领域 2.09年7月编程语言排行 3.Java学习路线与从业人员应掌握知识点
4.Jbuilder9中光标定位和汉字显示的问题 5.JDBC访问各种数据库URL语法
6.10年6月编程语言排行 7.11年9月编程语言排行 8.12年3月语言排行9.13年3月编程语言排行
《Java程序设计》实验指导
刘国清
《Java程序设计》是计算机专业的主要专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
Java程序设计的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握面向对象程序设计Java及其在网络和数据库开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识并在实践应用方面打下一定基础。
要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、数据库和网络等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
一、实验项目开设情况
序
号
实验名称
内容提要
实验要求
实验时数
实验类型
1
JAVA的基本程序结构
熟悉JAVA中的基本程序结构及基本环境
必开
2
设计
2
类的封装、继承和多态
编写包括类的封装、继承和多态的程序
必开
2
设计
3
异常
编写包含异常的类处理程序
必开
2
验证
4
I/O操作
编写文本界面文件I/O流程序
必开
2
设计
5
图形界面编程
图形化菜单绘图程序编写
必开
2
设计
6
Applet程序编写
编写Applet程序和启动HTML文件
必开
2
设计
7
数据库程序编写
SQL查询、插入、更新及删除程序
必开
2
综合
8
网络程序编写
编程使用URL类中的方法获取网络资源
必开
2
设计
9
Java系统类实验
Java常用的系统类的基本使用方法
选开
2
验证
二、实验成绩考核:
实验成绩占课程总评成绩的15%。
指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。
有以下情形之一者,实验成绩为不及格:
1.迟到、早退、无故缺勤总共3次及以上者;
2.未按时完成实验达3次及以上者;
3.缺交实验报告2次及以上者。
实验1 JAVA的基本程序结构
一、实验目的
1. 掌握下载和安装J2SE开发工具的方法,掌握JDK安装后的组织结构
2. 熟悉J2SE开发工具的使用
3. 掌握环境变量的配置
4. 学习编写简单的JavaApplication程序
5. 了解Java源代码结构、字节码文件,掌握Java程序的编辑编译和运行过程
二、实验内容与要求
从网络下载或从CD-ROM直接安装Java开发工具包JDK,学习编写简单的JavaApplication程序,要求编写如下两个程序:
1.实验教材P195实验3的实验题目
(2);
2.实验教材P196实验4的实验题目
(1);
3.编写程序计算2!
,4!
,6!
,10!
并显示他们各自的结果及他们的和,编译并运行程序。
4.编写杨辉三角程序,程序运行的输出效果应为下图的等边三角形形式;
返回
实验2 类的封装、继承和多态
一、实验目的
1. 掌握类的定义,成员变量和成员方法的定义,创建对象的方法等;
2. 掌握方法参数传递的过程,方法返回值的用法;
3. 掌握构造方法的设计,对象初始化的过程和对象作为参数的用法;
4. 掌握类的继承和多态;
5. 掌握this、super和super()的使用;
二、实验内容与要求
1.实验教材P213实验6的实验题目
(2);
2.在CarModel.java中创建一个汽车类CarModel,它里面有2个不同的构造方法,CarManufactory.java可以应用这些构造方法创建不同类型的汽车
CarModel.java设计要求如下:
Ø 定义style(String),color(String),category(String)注:
括号中为变量类型
Ø 创建第一个构造方法,分别给以上变量赋值,要求为该构造方法定义三个形参,分别赋给相应的变量,形参的值在对象创建时给出
Ø 创建第二个构造方法,此构造方法过程体为空
Ø 定义三个方法,分别返回style,color,category的值
CarManufactory.java设计要求如下:
使用不同的构造方法创建两辆汽车并显示两辆车相关的属性,属性的值要从CarModel的相关方法中取出
3.在Vehicle类的基础上创建一个Tractor(拖拉机)类,他不但拥有journey,wheelNum,loadNum,driveSpeed四种属性和driveAt()方法,而且还拥有自己的plough(耕地)方法,在该方法中要求能够显示journey,wheelNum,loadNum三个属性的值,在这个类中还要创建一个main()方法,分别调用plough()和driveAt()方法
publicclassVehicle{
publicfloatjourney;
publicintwheelNum;
publicintloadNum;
publicintdriveSpeed;
publicVehicle(){
journey=100.3f;
wheelNum=4;
loadNum=1;
}
publicvoiddriveAt(intspeed){
if(speed>=60){
System.out.println("你开车速度太快,容易造成事故");
//如果要求的车速太快,则机动车自动以40单位速度行驶
driveSpeed=40;
}
else{
System.out.println("你正以安全行驶速度行驶");
driveSpeed=speed;
}
}
}
4.练习this、super和super()的用法 源代码
程序首先定义Point(点)类,然后创建点的子类Line(线)。
最后通过Exp3_10类输出线段的长度。
程序中通过super(a,b)调用父类Point的构造方法为父类的x和y赋值。
在子类Line的setLine方法中,因为参数名和成员变量名相同,为给成员变量赋值,使用this引用,告诉编译器是为当前类的成员变量赋值。
在length和toString方法中使用父类成员变量时,使用super引用,告诉编译器使用的是父类的成员变量。
程序源代码如下。
classPoint{
protectedintx,y;
Point(inta,intb){
setPoint(a,b);
}
publicvoidsetPoint(inta,intb){
x=a;
y=b;
}
}
classLineextendsPoint{
protectedintx,y;
Line(inta,intb){
super(a,b);
setLine(a,b);
}
publicvoidsetLine(intx,inty){
this.x=x+x;
this.y=y+y;
}
publicdoublelength(){
intx1=super.x,y1=super.y,x2=this.x,y2=this.y;
returnMath.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}
publicStringtoString(){
return"PointtoPoint:
("+super.x+","+super.y+")("+
x+","+y+")Lengthis:
"+this.length();
}
}
publicclassExp3_10{
publicstaticvoidmain(Stringargs[]){
Lineline=newLine(50,50);
System.out.println("\n"+line.toString());
}
}
返回
实验3 异常处理(exception)
一、实验目的
1.熟悉java中异常的概念和定义;
2.掌握异常的各种处理规则。
二、实验要求
1.掌握java常用异常类。
2.理解系统异常处理的机制和创建自定义异常的方法。
3.编写使用多个catch的java程序。
(程序中至少应捕获3种异常)
三、实验内容
(一)练习使用try…catch语句处理异常
1.异常类型匹配的处理方式
(1)程序功能:
首先说明"这是一个异常处理的例子",然后在程序中主动产生一个ArithmeticException类型被0除的异常,并用catch语句捕获这个异常。
最后通过ArithmeticException类的对象e的方法getMessage给出异常的具体类型并显示出来。
(2)编写使用try…catch语句处理异常的程序文件LX4_6.java,源代码如下。
publicclassLX4_6{
publicstaticvoidmain(String[]arg3){
System.out.println("这是一个异常处理的例子\n");
try{
inti=10;
i/=0;}
catch(ArithmeticExceptione){
System.out.println("异常是:
"+e.getMessage());
}
finally{
System.out.println("finally语句被执行");
}}}
(3)编译并运行程序
注意:
如果在catch语句中声明的异常类是Exception,catch语句也能正确地捕获,这是因为Exception是ArithmeticException的父类。
如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。
2.异常类型不匹配的程序
(1)编写一个catch语句中声明的异常类型不匹配的程序LX4_7.java,源代码如下。
publicclassLX4_7{
publicstaticvoidmain(String[]args){
System.out.println(“这是一个异常处理的例子\n”);
try{
inti=10;
i/=0;}
catch(IndexOutOfBoundsExceptione){
System.out.println("异常是:
"+e.getMessage());
}
finally{
System.out.println("finally语句被执行");
}}}
(2)编译并运行程序LX4_7,
因为LX4_7程序试图捕获一个异常类为IndexOutOfBoundsException的异常,但发生的异常却是ArithmeticException类,所以,程序可以通过编译但在运行时,系统会给出异常报告:
报告所发生的但没有被捕获的异常。
不过在此之前,其它语句和finally语句将会被执行。
提示:
该程序表明,如果试图捕获一个不同类型的异常,将会发生意想不到的情况。
3.包含多个catch子句的异常处理程序
(1)程序功能:
在try子句中设计两个可能出现的异常,当a为0时会发生异常。
另外一个是肯定的异常,因为数组c的长度为1,定义c[42]是为法的。
通过两个catch子句分别来捕获异常。
(2)编写包含多个catch子句的LX4_8.java程序,源代码如下。
publicclassLX4_8{
publicstaticvoidmain(String[]args){
try{
inta=args.length;
System.out.println("\na="+a);
intb=42/a;
intc[]={1};
c[42]=99;
}
catch(ArithmeticExceptione){
System.out.println("发生了被0除:
"+e);
}
catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("数组下标越界:
"+e);
}}}
(2)实验下面两种情况:
1)在程序运行时不输入参数,则args.length的值为0,这将引起一个被0除异常。
2)在运行程序时,输入22,将不会引起被0除异常,但会引起一个另一个异常即数组下标
越界ArrayIndexOutOfBoundsException。
因为整型数组只有一个元素c[0],程序中却要使用c[42],这将发生数组下标越界。
(二)练习使用throw语句抛出异常
1.throw语句的作用
在上面的实验中,可以发现,异常对象是Java运行时由系统抛出的。
抛出异常也可以通过使用throw语句实现。
throw是Java语言的关键字,用来告知编译器此处要发生一个异常。
throw后面要跟一个新创建的异常类对象,用于指出异常的名称和类型。
throw语句格式为:
程序会在throw语句处立即终止,转向try…catch寻找异常处理方法,不再执行throw后面的语句。
2.throw语句的使用
(1)编写带有throw语句的程序LX4_9.java,源代码如下。
publicclassLX4_9{
staticvoidthrowProcess(){
try{
thrownewNullPointerException("空指针异常");
}
catch(NullPointerExceptione){
System.out.println("\n在throwProcess方法中捕获一个"+e.getMessage());
throwe;
}}
publicstaticvoidmain(Stringargs[]){
try{
throwProcess();
}
catch(NullPointerExceptione){
System.out.println("再次捕获:
"+e);
}}}
(2)编译并运行程序
(3)程序执行流程
程序首先调用throwProcess方法,明确地抛出了一个NullPointerException异常并将其命名为“空指针异常”。
然后程序流程将转向throwProcess方法中的catch子句,输出一条信息。
throwProcess方法的catch子句又抛出了一个同样的异常e。
然后结束throwProcess方法的调用,执行main方法中的catch子句,再次捕获这个异常。
(三)练习使用throws子句
1.throws子句的作用
throws子句一般用来表明在使用该方法时可能抛出异常但不捕获的异常。
异常由系统来处理。
throws子句也可以指出抛出异常是RuntimeException或自定义异常类,即异常的类型,以便准备调用其它方法捕获它,这种情况一般需要两个方法来分别处理抛出异常和处理异常。
2.只是在方法中抛出异常的程序
对于程序中无法处理的异常,可以使用throws子句在方法中抛出异常交由系统处理。
(1)程序功能:
在程序中打开文件a3.txt,因为该文件可能不存在或路径不对,所以存在
IOException类型异常的可能,因此这里使用throws来抛出异常。
(2)编写只是抛出异常的程序文件LX4_10.java,源代码如下。
importjava.io.*;
publicclassLX4_10
{
publicstaticvoidmain(Stringargs[])throwsIOException
{
FileInputStreamfis=newFileInputStream("a3.txt");
}}
(3)编译并运行程序,如果该文件在当前目录中不存在,将由系统自动给出异常报告。
3.带有捕获处理的throws子句
(1)程序功能:
在这个程序中的method方法中使用throws子句抛出异常,在main方法中捕获处理异常。
(2)源代码如下。
importjava.io.*;
publicclassLX4_11{
staticvoidmathod()throwsIllegalAccessException{
System.out.println("\n在mathod中抛出一个异常");
thrownewIllegalAccessException();
}
publicstaticvoidmain(Stringargs[]){
try{
mathod();
}
catch(IllegalAccessExceptione){
System.out.println("在main中捕获异常:
"+e);
}}}
(四)创建自定义异常类
1.创建自定义异常类程序文件LX4_13.java
(1)程序功能:
通过继承Exception异常类创建一个自定义异常类MyException,然后再创建一个主类LX4_13使用自定义异常类MyException。
(2)编写LX4_13.java程序文件,源代码如下。
classMyExceptionextendsException{
privateintx;
MyException(inta){
x=a;}
publicStringtoString(){
return"自定义异常类MyException";
}}
publicclassLX4_13{
staticvoidmathod(inta)throwsMyException{//声明方法会抛出MyException
System.out.println("\t此处引用mathod("+a+")");
if(a>10)thrownewMyException(a);//主动抛出MyException
System.out.println("正常返回");
}
publicstaticvoidmain(Stringargs[]){
try{
System.out.println("\n进入监控区,执行可能发生异常的程序段");
mathod(8);
mathod(20);
mathod(6);
}
catch(MyExceptione){
System.out.println("\t程序发生异常并在此处进行处理");
System.out.printl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)