《Java程序设计》实验指导
《Java程序设计》是计算机专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。Java程序设计的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握面向对象程序设计Java及其在网络和数据库开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、数据库和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
一、实验项目开设情况
二、实验成绩考核:
实验成绩占课程总评成绩的15%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时
批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格:
1.迟到、早退、无故缺勤总共3次及以上者;
2.未按时完成实验达3次及以上者;
3.缺交实验报告2次及以上者。
实验一 JAVA的基本程序结构
一、实验目的
1.掌握下载和安装J2SE开发工具的方法,掌握JDK安装后的组织结构。
2.熟悉J2SE开发工具的使用
3.掌握环境变量的配置
4.学习编写简单的Java Application程序
5.了解Java源代码结构、字节码文件,掌握Java程序的编辑编译和运行过程
二、实验内容与要求
从网络下载或从CD-ROM直接安装Java开发工具包JDK,学习编写简单的Java Application程序,要求编写如下两个程序:
1. 编写杨辉三角程序,程序运行的效果应为下图的等边三角形形式;
2. 编写程序计算2!,4!,6!,10!并显示他们各自的结果及他们的和,编译并运行这两
个程序。
实验二类的封装、继承和多态
一、实验目的
1.掌握类的定义,成员变量和成员方法的定义,创建对象的方法等;
2.掌握方法参数传递的过程,方法返回值的用法;
3.掌握构造方法的设计,对象初始化的过程和对象作为参数的用法。
4.掌握类的继承和多态
二、实验内容与要求
1. 创建一个汽车类CarModel.java,它里面有2个不同的构造函数,CarManufactory.java可以应用这些构造方法创建不同类型的汽车
CarModel.java设计要求如下:
定义style(String),color(String),category(String)注:括号中为变量类型
创建第一个构造函数,分别给以上变量赋值,要求为该构造函数定义三个形参,分别赋给相应的变量,形参的值在对象创建时给出
创建第二个构造函数,此构造函数过程为空
定义三个方法,分别返回style,color,category的值
CarManufactory.java设计要求如下:
使用不同的构造函数创建两辆汽车并显示两辆车相关的属性,属性的值要从
CarModel的相关方法中取出
2. 在V ehicle类的基础上创建一个Tractor(拖拉机)类,他不但拥有journey,wheelNum,loadNum,driveSpeed 四种属性和driveAt()方法,而且还拥有自己的plough(耕地)方法,在该方法中要求能够显示journey,wheelNum,loadNum三个属性的值,在这个类中还要创建一个main()方法,分别调用plough()和driveAt 方法
public class V ehicle{
public float journey;
public int wheelNum;
public int loadNum;
public int driveSpeed;
public V ehicle(){
journey=100.3f;
wheelNum=4;
loadNum=1;
}
public void driveAt(int speed){
java程序设计主要内容if (speed>=60){
System.out.println("行车速度太快,容易造成事故");
//如果要求的车速太快,则机动车自动以40单位速度行驶
driveSpeed=40;
}
else {
System.out.println("你在安全行驶速度内行驶");
driveSpeed=speed;
}
}
}
实验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,源代码如下。
public class LX4_6{
public static void main(String[] arg3) {
System.out.println("这是一个异常处理的例子\n");
try {
int i=10;
i /=0;}
catch (ArithmeticException e) {
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,源代码如下。public class LX4_7{
public static void main(String[] args) {
System.out.println(“这是一个异常处理的例子\n”);
try {
int i=10;
i /=0;}
catch (IndexOutOfBoundsException e) {
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 程序,源代码如下。
public class LX4_8{
public static void main(String[] args) {
try {
int a=args.length;
System.out.println("\na = "+a);
int b=42/a;
int c[]={1};
c[42]=99;
}
catch (ArithmeticException e) {
System.out.println("发生了被 0 除:"+e);
}
catch (ArrayIndexOutOfBoundsException e) {
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> <new> <;异常对象名()>;
程序会在throw 语句处立即终止,转向try…catch 寻异常处理方法,不再执行throw 后面的语句。
2.throw 语句的使用
(1)编写带有throw 语句的程序LX4_9.java,源代码如下。
public class LX4_9 {
static void throwProcess() {
try {
throw new NullPointerException("空指针异常");
}
catch (NullPointerException e) {
System.out.println("\n 在 throwProcess 方法中捕获一个"+e.getMessage());
throw e;
}}
public static void main(String args[]) {
try {
throwProcess();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论