Java程序设计经典实验教案.docx

上传人:b****8 文档编号:9485972 上传时间:2023-02-04 格式:DOCX 页数:41 大小:78.12KB
下载 相关 举报
Java程序设计经典实验教案.docx_第1页
第1页 / 共41页
Java程序设计经典实验教案.docx_第2页
第2页 / 共41页
Java程序设计经典实验教案.docx_第3页
第3页 / 共41页
Java程序设计经典实验教案.docx_第4页
第4页 / 共41页
Java程序设计经典实验教案.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

Java程序设计经典实验教案.docx

《Java程序设计经典实验教案.docx》由会员分享,可在线阅读,更多相关《Java程序设计经典实验教案.docx(41页珍藏版)》请在冰豆网上搜索。

Java程序设计经典实验教案.docx

Java程序设计经典实验教案

实验教案(首页)

实验课程名称

Java语言程序设计

实验学时

36

实验课类别

1.验证性或基础性□2.综合性□3.设计性□4.创新性和研究型□

授课对象

年级:

2012级专业:

计算机科学与技术班级:

本科班

教材

主要参考资料

教材:

《Java语言程序设计(第2版)》,殷兆麟,范宝德,朱长征编著,高等教育出版社

参考书:

教参:

《Java语言程序设计教程(第5版)》,(美)H.M.Deitel/P.J.Deitel,清华大学出版社,2004年3月。

《Java程序设计基础》,杨绍方,科学出版社,2001年;

《Java大学简明教程—实例程序设计》,(美)戴特尔,电子工业出版社,2002年;

《Java技术教程(基础篇)》,王克宏,清华大学出版社,2002年。

教学目的和

教学要求

Java程序设计是计算机科学与技术专业的专业基础课,它是网络时代广泛使用的面向对象的编程语言,它具有可移植性、稳定性、安全性、多线程机制等众多优点,具有非常高的技术性能。

上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节正确理解和熟练掌握JAVA语言的基本知识和基本技能,培养面向对象的程序设计思想和程序设计方法及能力。

教学重点和

教学难点

Java面向对象编程

教学进程安排

课次

实验项目(实验内容)

学时

备注

1

安装Java平台并配置环境变量,编译、运行简单程序

2

2

Java数据类型、各种运算符的使用

三种基本流程、break、continue用法

4

3

数组、拷贝数组方法arraycopy、数组类Arrays

字符与字符类Character常用方法的使用,String、StringBuffer、StringBuilder常用方法

4

4

类和对象的创建、方法的使用

构造方法的重载,静态变量与方法

抽象类和抽象方法;最终类、最终方法

6

5

父类和子类编程,扩展类编程

建立包和接口,多态性

4

6

try和catch语句

throw和throws语句的使用,finally用法,自定义异常类

4

7

流输入输出

文件读写及随机访问

4

8

Applet程序的编辑与编译,代码嵌入,Applet运行

Applet生命周期,Applet的应用

4

9

多线程的两种常用的创建方法编程;多线程的各个状态的编程;多线程的同步编程

2

实验教案

课题(项目)名称:

安装Java平台并配置环境变量,编译、运行简单程序

计划学时:

2

实验类型:

1.验证性或基础性□2.综合性□3.设计性□4.创新性和研究型□

授课日期:

年月日

第周星期第节

【实验目的】

1.学习JDK的开安装和配置

2.学习Eclipse的安装和基本使用

3.练习编写基本的Java程序

【实验要求】

1.掌握JDK的安装和配置

2.掌握Eclipse的安装和基本使用

3.掌握Java程序编写的基本方法

4.理解Java程序编译和运行的基本过程

【实验内容与步骤】

1.JDK的安装及基本使用

(1)下载JDK的安装文件()

(2)按照安装软件提示进行安装

(3)配置path和classpath

变量名

变量值

说明

JAVA_HOME

C:

\j2sdk(假定JDK安装在该目录下)

JDK所在搜索路径

Path

C:

\j2sdk\bin

或%JAVA_HOME%\bin

Java实用程序的位置

CLASSPATH

.;c:

\j2sdk\lib\dt.jar;c:

\j2sdk\lib\tools.jar

或.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

说明类和包文件的搜索路径

(4)测试java,JDK安装是否成功的方法  

在CMD中输入java空格或是javac空格或是java-version(显示的是JDK版本的信息)

(5)编写HelloWorld.java程序,编译并运行

2.Eclipse安装

(1)下载Eclipse

(2)解压安装

3.Eclipse使用

(1)设置工程区(选择自己的目录!

(2)建立项目Project****(****代表学号后4位)

(3)创建cn.pzhu.java.s****.exp1.HelloWorld类,并运行

4.简单程序编写

在包cn.pzhu.java.s****.exp1下创建

(1)编写下面“HelloWorld”程序。

publicclassHello{

publicstaticvoidmain(Stringargs[]){

System.out.println("这是一个简单的Java应用程序");

Studentstu=newStudent();

stu.speak("Wearestudents");

}

}

classStudent{

publicvoidspeak(Strings){

System.out.println(s);

}

}

(2)编写程序输出如下字符(StarDemo.java)

*

**

***

****

*****

【思考与练习】

1.尽管实际java程序开发都使用集成开发工具,但为什么首先要了解JDK?

2.了解,总结Eclipse中的快捷键

【ALT+/】:

此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。

【Ctrl+O】:

显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。

【Ctrl+/】:

快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需要注释一些东西或取消注释,现在好了,不需要每行进行重复的注释。

【Ctrl+D】:

删除当前行,不用为删除一行而按那么多次的删除键。

【Ctrl+M】:

窗口最大化和还原,用户在窗口中进行操作时,总会觉得当前窗口小(尤其在编写代码时),现在好了,试试【Ctrl+M】快捷键。

查看和定位快捷键:

在程序中,迅速定位代码的位置,快速找到Bug的所在,是非常不容易的事,Eclipse提供了强大的查找功能,可以利用如下的快捷键帮助完成查找定位的工作。

【Ctrl+K】、【Ctrl++Shift+K】:

快速向下和向上查找选定的内容,从此不再需要用鼠标单击查找对话框了。

【Ctrl+Shift+T】:

查找工作空间(Workspace)构建路径中的可找到Java类文件,不要为找不到类而痛苦,而且可以使用“*”、“?

”等通配符。

【Ctrl+Shift+R】和【Ctrl+Shift+T】对应,查找工作空间(Workspace)中的所有文件(包括Java文件),也可以使用通配符。

【Ctrl+Shift+G】查找类、方法和属性的引用。

这是一个非常实用的快捷键,例如要修改引用某个方法的代码,可以通过【Ctrl+Shift+G】快捷键迅速定位所有引用此方法的位置。

【Ctrl+Shift+O】快速生成import,当从网上拷贝一段程序后,不知道如何import进所调用的类,试试【Ctrl+Shift+O】快捷键,一定会有惊喜。

【Ctrl+Shift+F】格式化代码,书写格式规范的代码是每一个程序员的必修之课,当看见某段代码极不顺眼时,选定后按【Ctrl+Shift+F】快捷键可以格式化这段代码,如果不选定代码则默认格式化当前文件(Java文件)。

【ALT+Shift+W】:

查找当前文件所在项目中的路径,可以快速定位浏览器视图的位置,如果想查找某个文件所在的包时,此快捷键非常有用(特别在比较大的项目中)。

【Ctrl+L】定位到当前编辑器的某一行,对非Java文件也有效。

【Alt+←】、【Alt+→】:

后退历史记录和前进历史记录,在跟踪代码时非常有用,用户可能查找了几个有关联的地方,但可能记不清楚了,可以通过这两个快捷键定位查找的顺序。

【F3】快速定位光标位置的某个类、方法和属性。

【F4】显示类的继承关系,并打开类继承视图。

【实验报告要求】

1.简述应用JDK运行环境配置和开发java程序的常用命令。

2.查找资料总结Eclipse常用的10个快捷键。

3.请建立一个工程文件和里面的java文件,存放在你自己指定的文件目录下。

并进行编译和执行。

写出这个过程。

 

实验教案

课题(项目)名称:

Java数据类型、各种运算符的使用

计划学时:

2

实验类型:

1.验证性或基础性□2.综合性□3.设计性□4.创新性和研究型□

授课日期:

年月日

第周星期第节

【实验目的】

1.熟悉基本数据类型;变量的命名规则;常量的表达。

2.掌握各种运算符、表达式;运算符的优先级。

3.熟悉数据类型的强制转换和自动转换。

【实验要求】

1.编写一个声明Java不同数据类型变量的程序。

2.编写一个关于变量的使用范围的程序。

3.掌握表达式的书写方法

【实验内容与步骤】

(一)声明不同数据类型的变量

1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。

publicclassKY2_1{

publicstaticvoidmain(Stringargs[]){

byteb=0x55;

shorts=0x55ff;

inti=1000000;

longl=0xffffL;

charc='a';

floatf=0.23F;

doubled=0.7E-3;

booleanB=true;

StringS="这是字符串类数据类型";

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="+S);

}

}

2.编译并运行该程序

3.把程序的输出结果写在实验报告中。

如果不给上面程序中的变量赋初始值的话,看看该程序是否还能正确运行?

如果不可以,请指出为什么?

(二)了解变量的使用范围

1.建立KY2_2.java文件,通过本程序了解变量的使用范围,源代码如下。

publicclassKY2_2{

staticinti=10;

publicstaticvoidmain(Stringargs[]){

{

intk=10;

System.out.println("i="+i);

System.out.println("k="+k);

}

System.out.println("i="+i);

System.out.println("k="+k);

}

}

2.编译KY2_2.java

看看这个程序是否会出错?

为什么会出现编译错误,请在试验报告中给出理由!

3.修改上面的程序,让它能正确运行。

4.把修改后的源程序以及程序的输出结果写在实验报告中。

思考:

KY2_2.java程序说明了什么问题?

(三)分析表达式的运算顺序,用程序验证

1.分析表达式的运算顺序,用程序验证

(1)x=5+3*5/3-2;

(2)x=4%4+4*4-4/4;

(3)x=(2*4*(2+(4*2/

(2))-3))

2.设x=10,y=20,z=30;求布尔表达式的值并显示:

(1)x<10||x>10;

(2)

(2)x>y&&y>x;

(3)(x

(4)z-y==x&&(y-z)==x;

(5)x<10&&x>10;

(6)x>y||y>x;

(7)!

(x

(x+10<=20);

(8)(!

(x==y))&&(x!

=y)&&(x

【实验报告要求】

请在实验报告中对本次实验内容进行总结。

实验教案

课题(项目)名称:

三种基本流程、break、continue用法

计划学时:

4

实验类型:

1.验证性或基础性□2.综合性□3.设计性□4.创新性和研究型□

授课日期:

年月日

第周星期第节

【实验目的】

1.理解Java程序的三种基本结构,即顺序结构、分支结构和循环结构。

2.掌握用于分支的if…else、switch…case语句。

3.掌握用于循环的for、while、do…while语句。

4.熟悉break、cotinue作用。

【实验要求】

1.掌握流程控制语句的使用

【实验内容与步骤】

(一)使用选择语句

输入并运行下面的程序,说明switch语句的使用方法。

(Page86页第5题)

程序代码如下:

……

1.将分析程序得到的结果与实际运行结果相比较,看是否一致。

若结果不一致,原因在哪里?

请在实验报告中解释为什么?

2.break语句在switch语句中起到了什么作用?

3.修改上面的程序,让它能正确运行。

把修改后的源程序以及程序的输出结果写在实验报告中。

(二)使用循环语句

1.请编写程序KY2_3.java,要求程序具有如下功能:

用三种循环语句实现输出10~50之间为3的倍数的数。

(1)编译KY2_3.java

(2)运行KY2_3.class

(3)把源程序写在实验报告中。

2.请编写程序KY2_4.java,要求程序具有如下功能:

输出1~100中的偶数,一行5个。

(1)编译KY2_4.java

(2)运行KY2_4.class

(3)把源程序写在实验报告中。

【实验报告要求】

请在实验报告中对本次实验内容进行总结。

 

实验教案

课题(项目)名称:

数组、拷贝数组方法arraycopy、数组类Arrays

计划学时:

2

实验类型:

1.验证性或基础性□2.综合性□3.设计性□4.创新性和研究型□

授课日期:

年月日

第周星期第节

【实验目的】

1.掌握数组的定义与访问

2.掌握拷贝数组方法arraycopy的使用

3.掌握数组类Arrays的使用

【实验要求】

1.编写使用数组解决实际问题的程序。

2.验证使用arraycopy方法的程序。

3.验证使用数组类的程序。

【实验内容与步骤】

(一)数组的应用

1.创建一个数组,功能如page78页第3-15题。

2.创建如下的二维数组,并遍历数组

12345

8abc

de

3.要求:

判断一个数组中是否存在相同的元素,如果存在相同的元素则输出“重复”,否则输出“不重复”。

该题中如果需要判断数组中元素是否重复,则需要对数组中的元素进行两两比较,如果有任意一组元素相等,则该数组中的元素存在重复,如果任意一组元素都不想等,则表示数组中的元素不重复。

实现思路:

假设数组中的元素不重复,两两比较数组中的元素,使用数组中的第一个元素和后续所有元素比较,接着使用数组中的第二个元素和后续元素比较,依次类推实现两两比较,如果有一组元素相同,则数组中存储重复,结束循环。

把比较的结果存储在一个标志变量里,最后判断标志变量的值即可。

则实现的代码如下:

                  int[]n={1,2,3,1,0};

                  booleanflag=true;  //假设不重复

                  for(inti=0;i

                           for(intj=i+1;j

                                    //如果相等,则重复

                                    if(n[i]==n[j]){

                                              flag=false;//设置标志变量为重复

                                              break;     //结束循环

                                    }

                           }

                  }

                  //判断标志变量

                  if(flag){

                           System.out.println(“不重复”);

                  }else{

                           System.out.println(“重复”);

                  }

在该代码中,flag变量存储是否重复,true代表不重复,false代表重复。

外部循环中循环变量i代表第一个元素的下标,内部循环中循环变量j代表后续元素的下标,当i为零时和后续所有元素比较,然后当i为1时也和后续所有元素比较,依次类推,这样实现所有元素之间的两两比较。

然后如果元素相同,则代表有重复,把flag变量的值置成flase,结束循环。

最后根据flag变量的值就可以判断是否重复了。

(二)拷贝数组方法arraycopy的使用

System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制.

其函数原型是:

  publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intdestPos,intlength)

src:

源数组;srcPos:

源数组要复制的起始位置;

dest:

目的数组;destPos:

目的数组放置的起始位置; 

length:

复制的长度.

注意:

srcanddest都必须是同类型或者可以进行转换类型的数组。

1.编译和运行下面的程序,观察并分析结果。

packagecom.yiibai;

importjava.lang.*;

publicclassSystemDemo{

publicstaticvoidmain(String[]args){

intarr1[]={0,1,2,3,4,5};

intarr2[]={0,10,20,30,40,50};

//copiesanarrayfromthespecifiedsourcearray

System.arraycopy(arr1,0,arr2,0,1);

System.out.print("array2=");

System.out.print(arr2[0]+"");

System.out.print(arr2[1]+"");

System.out.print(arr2[2]+"");

System.out.print(arr2[3]+"");

System.out.print(arr2[4]+"");

}

}

(1)编译SystemDemo.java

(2)运行SystemDemo.class

(3)把源程序写在实验报告中。

(4)程序的输出结果写在实验报告中。

(二)数组类Arrays的应用

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

(1)给数组赋值:

通过fill方法。

(2)对数组排序:

通过sort方法,按升序。

(3)比较数组:

通过equals方法比较数组中元素值是否相等。

(4) 查找数组元素:

通过binarySearch方法能对排序好的数组进行二分查找法操作。

1.编译和运行下面的程序,观察并分析结果。

 import java.util.Arrays;

public class TestArrays {

public static void output(int[] array) {

if (array!

=null) {

for (int i = 0; i < array.length; i++) {

System.out.print(array[i]+" ");

}

}

System.out.println();

}

public static void main(String[] args) {

int[] array = new int[5];

//填充数组

Arrays.fill(array, 5);

System.out.println("填充数组:

Arrays.fill(array, 5):

");

TestArrays.output(array);

//将数组的第2和第3个元素赋值为8

Arrays.fill(array, 2, 4, 8);

System.out.println("将数组的第2和第3个元素赋值为8:

Arrays.fill(array, 2, 4, 8):

");

TestArrays.output(array);

int[] array1 = {7,8,3,2,12,6,3,5,4};

//对数组的第2个到第6个进行排序进行排序

Arrays.sort(array1,2,7);

System.out.println("对数组的第2个到第6个元素进行排序进行排序:

Arrays.sort(array,2,7):

");

TestArrays.output(array1);

 //对整个数组进行排序

Arrays.sort(array1);

System.out.println("对整个数组进行排序:

Arrays.sort(array1):

");

TestArrays.output(array1);

 

//比较数组元素是否相等

System.out.println("比

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1