Java实验指导书.docx

上传人:b****1 文档编号:2373554 上传时间:2023-05-03 格式:DOCX 页数:23 大小:23.56KB
下载 相关 举报
Java实验指导书.docx_第1页
第1页 / 共23页
Java实验指导书.docx_第2页
第2页 / 共23页
Java实验指导书.docx_第3页
第3页 / 共23页
Java实验指导书.docx_第4页
第4页 / 共23页
Java实验指导书.docx_第5页
第5页 / 共23页
Java实验指导书.docx_第6页
第6页 / 共23页
Java实验指导书.docx_第7页
第7页 / 共23页
Java实验指导书.docx_第8页
第8页 / 共23页
Java实验指导书.docx_第9页
第9页 / 共23页
Java实验指导书.docx_第10页
第10页 / 共23页
Java实验指导书.docx_第11页
第11页 / 共23页
Java实验指导书.docx_第12页
第12页 / 共23页
Java实验指导书.docx_第13页
第13页 / 共23页
Java实验指导书.docx_第14页
第14页 / 共23页
Java实验指导书.docx_第15页
第15页 / 共23页
Java实验指导书.docx_第16页
第16页 / 共23页
Java实验指导书.docx_第17页
第17页 / 共23页
Java实验指导书.docx_第18页
第18页 / 共23页
Java实验指导书.docx_第19页
第19页 / 共23页
Java实验指导书.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java实验指导书.docx

《Java实验指导书.docx》由会员分享,可在线阅读,更多相关《Java实验指导书.docx(23页珍藏版)》请在冰点文库上搜索。

Java实验指导书.docx

Java实验指导书

 

Java程序设计实验指导书

(自编教材)

 

第二部分Java程序设计实验项目

实验一熟悉Java程序开发环境

一、实验目的

1.了解和使用J2sdk1.5.0(JDK)集成环境。

包括Eclipse的安装

2.熟悉J2sdk集成环境的基本命令、功能和基本用法。

并学会配置path等环境变量

3.学习并熟练掌握使用J2SDK环境进Java程序开发的全过程(包括:

源程序的编辑、编译、调试、运行和结果查看)。

4.了解和掌握JCREATOR和Eclipse集成环境的安装,简单应用。

5.了解JavaApplication和Applet程序的基本结构。

6.了解Java程序文件名和类名的说明方法。

二、实验内容与要求

1.安装Jdk1.5.0集成环境,安装成功后,配置path,classpath路径,让用户在任何目录下均可用到Java的系统资源。

设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。

进入命令行(MS-DOS)方式,进行如下设置:

SETPATH=D:

\JDK1.5.0\BIN;%PATH%

SETCLASSPATH=.;%CLASSPATH%

2.安装Jdk1.5.0Doc,并查看Jdk1.5.0Doc文档中,和课堂教学有关系的部分。

在整个实验过程中都可以参考。

3.建立自己的工作目录如d:

\user。

以后的Java程序和过程文件均放置在此目录下。

4.输入一个Application源程序,学习编辑、编译、运行程序的方法。

//例1-1文件HelloWorldApp.java如下:

//HelloWorldApp.java

publicclassHelloWorldApp{

publicstaticvoidmain(Stringargs[]){

System.out.println(″HelloWorld!

″);

}

}

本程序的作用是输出下面一行信息:

  HelloWorld!

现在我们可以运行该程序。

首先把它放到一个名为HelloWorldApp.java的文件中,这里,这文件名应和类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。

然后对它进行编译:

  d:

\user>javacHelloWorldApp.java

编译的结果是生成字节码文件HelloWorldApp.class。

最后用java解释器来运行该字节码文件:

  d:

\user>javaHelloWorldApp

  结果在屏幕上显示HelloWorld!

三、思考题

1.什么是Java虚拟机?

它的作用是什么?

2.JavaApplication程序与JavaApplet程序的不同之处有那些?

请各位同学收集错误代码与提示信息,以及产生错误的原因。

3.列举出5种以上Java开发平台,分析他们的优缺点或特点。

四、实验报告

1、实验完成后,检查是否达到试验目的。

2、编写实验报告(打印或手写均可),在下一次上实验课时提交。

3、评出成绩,按五级(A,B,C,D、E)评分。

实验二简单数据类型和流程控制

一、实验目的

1.掌握Java语言的标识符和保留字,各简单数据类型变量以及有逻辑量意义数据的表示方法以及表示条件的表达式的类型。

2.掌握Java语言中具各种运算符表达式的基本知识。

3.熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。

4.熟练掌握使用if语句的嵌套及switch语句进行多分支结构程序设计的基本方法。

5.熟练掌握while、do-while和for三种语句组成循环结构的基本方法。

熟练掌握特殊流程控制语句如break,continue,标号语句。

6.熟练掌握一维数组和二维数组的使用

7.把课堂上学到的理论用于实践,并验证理论的正确性,和发现新的问题

二、实验内容与要求

1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果

publicclassCh21

{

publicstaticvoidmain(Stringargs[])

{

charx,y,z;

x='K';

y='\\';

z='\117';

System.out.print(x);

System.out.print(y);

System.out.print(z);

}

}

2、仔细读下面的JAVA语言源程序,自己给出程序的运行结果

publicclassCh22

{

publicstaticvoidmain(Stringargs[])

{

booleanx,y,z;

inta=12,b=24;

x=(a>b);

y=(a!

=b);

z=(a+b==36);

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

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

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

}

}

3、仔细读下面的JAVA语言源程序,自己给出程序的运行结果

publicclassCh23{

publicstaticvoidmain(Stringargs[]){

intx,y,z=0;

for(x=1;x<=10;x++)

for(y=1;y<10;y++)

{

if(x==5)

continue;

if(y>5)

break;

z++;

}

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

}

}

4.设intyear,month,day分别表示一个日期中的年月日,试编程求

a)对于任意三个整数,判断其是否为一个合法的日期值。

b)给定一个日期值,计算若干天后的日期值

c)如果有两个日期值,计算他们相距的天数。

5.找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点。

6、编写一个程序,要求将一个浮点数强制转化成整型后再输出。

7.请计算出3至1000范围内最大的10个素数,放入数组中,并计算出其累加和。

8.水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:

371=33+73+13,371就是一个水仙花数。

找出所有水仙花数.

三、思考题

1.定义变量的作用是什么?

2.Java运算符的优先级与结合性是怎样的?

3.longl=121233;floatf=100.2323;

这两行代码在编译时有什么错误。

4.&和&&有什么区别?

5.break,continue在流程控制中的作用。

四、实验报告

1、实验完成后,检查是否达到试验目的。

2、编写实验报告(打印或手写均可),在下一次上实验课时提交。

3、评出成绩,按五级(A,B,C,D、E)评分。

实验三类、对象基础知识

一、实验目的

1、熟练掌握类、对象的的概念以及对事物的抽象。

2、熟练掌握成员、方法的概念以及构造方法的概念。

3、熟练掌握封装性,多态性的概念

4、理解面向对象的程序设计方法。

二、实验内容与要求

1.运行下面的程序,理解面向对象的程序设计方法的基本概念。

classvalue{

publicintx,y;

publicvalue(inta,intb){

x=a;y=b;

}

}

publicclassCh31{

publicstaticvoidmain(Stringargs[]){

inttotal;

valuenum=newvalue(24,65);

total=num.x+num.y;

System.out.println("add="+total);

}

}

2、定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”,。

定义主类,创建帐户类的对象,并完成相应操作。

提示:

关键代码如下:

publicintgetleftmoney(){

returnleftmoney;

}

publicvoidsavemoney(doublemoney){

leftmoney+=money;

}

publicvoidgetmoney(doublemoney){

if(money<=leftmoney)

leftmoney-=money;

else

System.out.println("只能取:

"+leftmoney);

}

bankaccountba=newbankaccount(888123,1000);

ba.savemoney(21000);

System.out.println("存入21000元后余额为:

"+ba.getleftmoney());

ba.getmoney(11500);

System.out.println("11500元后余额为:

"+ba.getleftmoney());

3.先创建一个Point类,然后定义Trianglele类。

在Trianglele类中定义三个Point的实体来表示一个三角形的三个点,再定义一个方法setTri对这三个点进行初始化,然后定义两个方法求三角形的周长、面积。

在main()中创建一个对象,求给定三点的三角形的周长、面积。

3.将上题的方法setTri改用构造方法实现初始化。

4、编写JAVA程序求园柱体的表面积和体积,已知底面圆心p为(0,0),半径r为10,圆柱体高5。

三、思考题

1.一个方法或一个块内定义的变量是否可以在方法外或块外使用?

这种变量称为什么?

方法的形式参数是否可以在方法之外使用?

2.为什么说构造函数是一种特殊的方法?

特殊在哪里?

构造函数什么时候执行?

被谁调用?

3.子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?

4.同名的不同方法共存的情况称为什么?

如何区分这些同名方法?

5.定义一个矩形类Rectangle,再定义接口InterfaceRec,其中包含方法getArea();由矩形类派生出一个正方形类,自行扩充成员变量和方法,并实现此接口InterfaceRec中的方法。

 

四、实验报告

1、实验完成后,检查是否达到试验目的。

2、编写实验报告(打印或手写均可),在下一次上实验课时提交。

3、评出成绩,按五级(A,B,C,D、E)评分。

实验四抽象类、接口与包

一、实验目的

1、熟练掌握抽象类abstract的概念。

2、熟练掌握接口interface的概念。

3、熟练包package的概念以及编译运行的方法。

4、熟练掌握内部类innerclass的概念。

5、熟练掌握递归的概念。

6、理解面向对象的程序设计方法。

二、实验内容与要求

1.编写求解几何图形(如三角形,矩型,圆,多边型)的周长、面积的应用程序,要求用到继承、多态、抽象类、接口、内部类等面向对象程序设计技术的特点。

2、重写上面的程序,要求三角形,矩型,圆,多边型的类放到不同的包中,用包的技术组织程序的设计。

同时要求程序能从键盘上接受数据以便求解不同的几何图形的周长面积。

提示:

从键盘上输入双精度数的一种方法(程序片段)

……

publicstaticvoidmain(Stringargs[])throwsIOException

{

BufferedReaderkeyin=newBufferedReader(newInputStreamReader(System.in));

Stringx;

x=keyin.readLine();

doublea=Double.parseDouble(x);

……

3.练习java.lang.Class类的使用,通过一个对象返回一个Class对象,如何获取一个类的名称,如何使用class生成一个类的对象。

获取类的描述信息。

4.从命令行输入一个正整数,用递归的方法求出每位数字上的累加和

三、思考题

1.定义一个矩形类Rectangle,再定义接口InterfaceRec,其中包含方法getArea();由矩形类派生出一个正方形类,自行扩充成员变量和方法,并实现此接口InterfaceRec中的方法。

2.内部类innerclass和外部类的区别?

3.抽象类和接口的区别?

四、实验报告

1、实验完成后,检查是否达到试验目的。

2、编写实验报告(打印或手写均可),在下一次上实验课时提交。

3、评出成绩,按五级(A,B,C,D、E)评分。

实验五字符串处理及基础类库

一、实验目的

1、理解并掌握String类、StringBuffer类;

2、理解并掌握StringTokenizer类

3、掌握字符串与其他数据类型的转换

4、掌握Math类的使用。

5、了解和掌握集合框架类。

6、掌握JavaApplication命令行参数的使用

二、实验内容与要求

1.利用下面的关键代码编写一个完整的程序,理解Math类的使用。

System.out.println(Math.abs(-5.8));//5.8

System.out.println(Math.ceil(3.2));//4

System.out.println(Math.floor(3.8))//3

System.out.println(Math.round(3.8));//4

System.out.println(Math.round(3.2));//3

System.out.println(Math.min(3,2));//2

System.out.println(Math.max(Math.PI,4));//4

System.out.println(Math.log(7.0));//1.94591

System.out.println(Math.pow(7,2));//72----49

System.out.println(Math.exp(0.4));//1.49183

System.out.println(Math.IEEEremainder(10.0,3.0));//返回1

angle=0.785398;//以弧度为单位的角,π/4

System.out.println(Math.tan(angle));//返回该角的正切

System.out.println(Math.asin(0.707107));//返回反余弦

System.out.println("eis:

"+Math.e);//eis:

2.71828

System.out.println("πis:

"+Math.PI);//πis:

3.14159

System.out.println(Math.random());//产生0和1(不含1)之间的伪随机数

2.利用下面的关键代码编写一个完整的程序,理解String类的使用。

Strings=newString("ThisisandemooftheStringmethod.");

//Strings="ThisisandemooftheStringmethod.";

System.out.println("Length:

"+s.length());

System.out.println("SubString:

"+s.substring(11,15));

3.利用下面的关键代码编写一个完整的程序,理解StringBuffer类的使用。

StringBuffersb=newStringBuffer("HelloWorld!

");

sb.append("HelloJava!

");

sb.insert(12,"And");

System.out.println(sb);

System.out.println(sb.charAt(0));

sb.setCharAt(0,''h'');

System.out.println(sb.charAt(0));

System.out.println(sb);

4.使用JavaAplication的命令行参数读入两个数据,计算它们的和,然后将和输出。

如果参数的数目不足,显示相应提示信息并退出程序的执行。

三、思考题

1.算术运算应使用什么类?

2.Java中如何表示字符串?

3.JavaApplication如何定义和使用命令行参数?

四、实验报告

1、实验完成后,检查是否达到试验目的。

2、编写实验报告(打印或手写均可),在下一次上实验课时提交。

3、评出成绩,按五级(A,B,C,D、E)评分。

 

实验六流式输入输出处理

一、实验目的

1、理解流的概念,流的划分

2、掌握文件描述,顺序处理,随机访问处理的方法;

3、能够熟练的使用过滤流;掌握字符流处理的方法;

4、理解对象串行化的概念和方法。

二、实验内容与要求

1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果,理解File类的使用。

importjava.io.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassCh71extendsFrame{

intn;

Stringdirname="/jdk1.4";

Filefile=newFile(dirname);

String[]flist=newString[100];

ChoicelistFile=newChoice();

TextFieldtf=newTextField();

publicCh71(){

setLayout(newBorderLayout(10,10));

flist=file.list();

for(n=0;n

listFile.addItem(flist[n]);

}

add("North",listFile);

add("South",tf);

setSize(250,200);

setVisible(true);

listFile.addItemListener(newkoListener());

addWindowListener(newkoWindowListener());

}

publicstaticvoidmain(Stringargs[]){

newCh71();

}

classkoListenerimplementsItemListener{

publicvoiditemStateChanged(ItemEvente){

Stringko=(String)e.getItem();

for(n=0;n

if(ko==flist[n]){

Filef=newFile(file+System.getProperty("file.separator")+ko);

if(f.isFile()==true)

tf.setText(ko+"是个文件!

");

if(f.isDirectory()==true)

tf.setText(ko+"是个目录!

");

}

}

}

classkoWindowListenerextendsWindowAdapter{

publicvoidwindowClosing(WindowEvente){

dispose();

System.exit(0);

}

}

}

2、仔细读下面的JAVA语言源程序,自己给出程序的运行结果

importjava.io.*;

publicclasstestRandom2{

publicstaticvoidmain(Stringargs[]){

try{

RandomAccessFilerf=newRandomAccessFile("rtest.dat","rw");

for(inti=0;i<10;i++){

rf.writeInt(i);

rf.writeDouble(i*1.414);

}

rf.close();

rf=newRandomAccessFile("rtest.dat","rw");

rf.seek(5*(4+8));

rf.writeInt(47);

rf.writeDouble(47.00021);

rf.close();

rf=newRandomAccessFile("rtest.dat","r");

for(inti=0;i<10;i++){

;

System.out.println("Value"+rf.readInt()+":

"+rf.readDouble());

}

rf.close();

}catch(IOExceptione){

System.out.println(e.toString());

}

}

}

3、定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"、”显示帐号”以及存储功能。

定义主类,创建帐户类的对象,并完成相应操作,要求能存储储户历史信息。

4、编写程序,能接收键盘输入的字符串,并将字符串的内容写入文件。

三、思考题

1、InputStream和OutputStream的基本方法是什么?

2、DataOutputStream类的常用方法。

3、Ascii编码和Unicode编码的区别?

5.字符流和字节流的区别是什么?

6.对文件进行读写操作的过程是什么?

四、实验报告

1、实验完成后,检查是否达到试验目的。

2、编写实验报告(打印或手写均可),在下一次上实验课时提交。

3、评出成绩,按五级(A,B,C,D、E)评分。

 

实验七线程

一、实验目的

1.线程的概念、线程的生命周期。

2.多线程的编程:

继承Thread类与使用Runnable接口。

3.使用多线程机制实现动画。

4.处理简单的多线程互斥和同步;

二、实验内容与要求

1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果

publicclassCh81extendsThread{

intn;

Ch81(){

Threadtd=newThread(this);

td.start();

}

publicvoidrun(){

for(n=0;n<6;n++){

try{

System.out.print(n);

Thread.sleep(500);

}

catch(InterruptedExceptione){

System.out.println("Exception");

}

}

}

publicstaticvoidmain

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

当前位置:首页 > 求职职场 > 简历

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

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