Java程序设计实验指导书.docx
《Java程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实验指导书.docx(47页珍藏版)》请在冰豆网上搜索。
![Java程序设计实验指导书.docx](https://file1.bdocx.com/fileroot1/2022-10/13/bdba9551-f21e-4e0a-bf11-7fb9e0fcddac/bdba9551-f21e-4e0a-bf11-7fb9e0fcddac1.gif)
Java程序设计实验指导书
实验一基本数据类型与控制语句
一、实验目的及要求
1.安装并配置Java运行开发环境;
2.掌握开发Java应用程序的3个步骤:
编写源文件、编译源文件和运行应用程序;
3.学习同时编译多个Java源文件;
4.掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;
5.掌握使用if…else分支和while循环语句解决问题。
二、实验学时
6学时
三、实验任务
1.安装JDK,设置环境变量PATH和CLASSPATH。
1)下载JDK
为了建立基于SDK的java运行环境,需要先下载sun的免费SDK软件包。
在浏览器中输入进入sun公司官方网站页面。
在页面右边“PopularDownloads”栏中可看到最新版的JDK软件包(JDK1.6),并下载。
2)安装JDK
运行下载的“jdk-6u1-windows-i586-p.exe”软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,demo文件夹中包含开源代码程序实例。
3)JDK中主要文件夹和文件
安装成功后,d:
\java\jdk1.6中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。
设置环境变量
JDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。
以WindowsXP为例说明设置过程。
右击桌面“我的电脑”图标,选择“属性”菜单
在“高级”选项卡中单击“环境变量”按钮,将出现“环境变量”设置界面
在“系统变量”框中点击“新建”按钮,在出现的“编辑系统变量”对话框中,在“变量名”栏的文本框内输入“JavaHome”,在变量值栏的文本框内输入“d:
\java\jdk1.6”(即jdk安装的主目录)
在“系统变量”框中选择“path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令后添加“;%JavaHome%\bin”。
在“系统变量”框中,单击“新建”按钮,在出现的“新建系统变量”的对话框中,在“变量名”栏中输入“classpath”,在变量值栏输入“.;%JavaHome%\lib”。
其中“.”表示当前目录。
设置完成后,单击“开始”->“所有程序”->“附件”->“命令提示符”打开DOS窗口,在命令行提示符输入“java”或“javac”回车后,如果出现其用法参数提示信息,则安装正确。
2.安装Eclipse,并熟悉如何使用。
将下载的ZIP包解压缩到D盘,双击D:
\eclipse\eclipse.exe来启动Eclipse。
第一次启动时会弹出一个选择工作空间的对话框,输入“D:
\workspace”,单击“OK”,开始运行Eclipse。
3.一个简单的应用程序
✧实验要求:
编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:
“你好,很高兴学习Java”和“Wearestudents”。
✧程序模板:
Hello.java
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
【代码1】//命令行窗口输出"你好,很高兴学习Java"
Aa=newA();
a.fA();
}
}
classA
{
voidfA()
{
【代码2】//命令行窗口输出"Wearestudents"
}
}
✧实验后的练习:
1.编译器怎样提示丢失大括号的错误?
2.编译器怎样提示语句丢失分号的错误?
3.编译器怎样提示将System写成system这一错误?
4.编译器怎样提示将String写成string这一错误?
4.联合编译
✧实验要求:
编写4个源文件:
MainClass.java、A.java、B.java和C.java,每个源文件只有一个类,MainClass.java是一个应用程序(含有main方法),使用了A、B和C类。
将4个源文件保存到同一目录中,例如:
C:
\100,然后编译MainClass.java。
✧程序模板:
模板1:
MainClass.java
publicclassMainClass
{
publicstaticvoidmain(Stringargs[])
{
【代码1】//命令行窗口输出"你好,只需编译我"
Aa=newA();
a.fA();
Bb=newB();
b.fB();
}
}
模板2:
A.java
publicclassA
{
voidfA()
{
【代码2】//命令行窗口输出"IamA"
}
}
模板3:
B.java
publicclassB
{
voidfB()
{
【代码3】//命令行窗口输出"IamB"
}
}
模板4:
C.java
publicclassC
{
voidfC()
{
【代码4】//命令行窗口输出"IamC"
}
}
✧实验后的练习:
1.将Hello.java编译通过后,修改A.java源文件中的代码,在命令行窗口输出“我是A类”。
要求每次修改A.java源文件后,单独编译A.java,然后直接运行应用程序MainClass。
5.输出希腊字母表。
✧实验要求:
编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。
✧程序模板:
GreekAlphabet.java
publicclassGreekAlphabet
{
publicstaticvoidmain(Stringargs[])
{
intstartPosition=0,endPosition=0;
charcStart='α',cEnd='ω';
【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition
【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:
"+(int)cStart);
System.out.println("希腊字母表:
");
for(inti=startPosition;i<=endPosition;i++)
{
charc='\0';
【代码3】//i做char型转换运算,并将结果赋值给c
System.out.print(""+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
✧实验后的练习:
1.将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误?
2.在应用程序的main方法中增加语句:
floatx=0.618;
程序能编译通过么?
3.在应用程序的main方法中增加语句:
bytey=128;
程序能编译通过么?
4.在应用程序的main方法中增加语句:
intz=(byte)128;
程序输出变量z的值是多少?
6.猜数字游戏。
✧实验要求:
编写一个Java应用程序,实现下列功能:
1)程序随机分配给客户一个1—100之间的整数;
2)用户在输入对话框中输入自己的猜测;
3)程序返回提示信息,提示信息分别是:
“猜大了”、“猜小了”和“猜对了”;
4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
✧程序模板:
GuessNumber.java
importjavax.swing.JOptionPane;
publicclassGuessNumber
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("给你一个1至100之间的整数,请猜测这个数");
intrealNumber=(int)(Math.random()*100)+1;
intyourGuess=0;
Stringstr=JOptionPane.showInputDialog("输入您的猜测:
");
yourGuess=Integer.parseInt(str);
while(【代码1】)//循环条件
{
if(【代码2】)//条件代码
{
str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:
");
yourGuess=Integer.parseInt(str);
}
elseif(【代码3】)//条件代码
{
str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:
");
yourGuess=Integer.parseInt(str);
}
}
System.out.println("猜对了!
");
}
}
✧实验后的练习:
1.用“yourGuess>realNumber”替换【代码1】,可以么?
2.语句:
“System.out.println(“猜对了!
”);”为何要放在while循环语句之后?
放在while语句的循环体中合理吗?
【结果】
将本次上机实验结果按照以上内容依次填写实验目标、过程、结果。
【注意事项】
实验报告要求每人提交一份,使用专门的报告纸,内容写全,包括实验名称、班级、姓名、试验日期。
7.编写一个java程序,用穷举法找出2-50之间的素数。
8.编写一个java程序,计算1!
+2!
+…+10!
。
实验二类与对象
一、实验目的及要求
1.使用类来封装对象的属性和功能;
2.掌握类变量与实例变量,以及类方法与实例方法的区别;
3.掌握使用package和import语句;
4.巩固以下概念:
子类的继承性,子类对象的创建过程,成员变量的继承与隐藏,方法的继承与重写。
二、实验学时
4学时
三、实验任务
1.三角形、梯形和圆形的类封装
✧实验要求:
编写一个Java应用程序,该程序中有3个类:
Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。
具体要求如下:
a)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。
另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。
b)Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。
c)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
✧程序模板:
AreaAndLength.java
classTrangle
{
doublesideA,sideB,sideC,area,length;