Java实验指导书16.docx
- 文档编号:20104451
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:68
- 大小:41.79KB
Java实验指导书16.docx
《Java实验指导书16.docx》由会员分享,可在线阅读,更多相关《Java实验指导书16.docx(68页珍藏版)》请在冰豆网上搜索。
Java实验指导书16
Java实验指导书
请同学们根据教学进度选择相应的实验进行设计或验证,并按要求填写实验报告。
实验1Java运行环境的安装、配置与运行2
实验2Java语言基础5
实验3Java面向对象基础12
实验4Java面向对象高级程序设计17
实验5GUI编程技术28
实验6Java多线程编程技术41
湖南人文科技学院计算机科学与技术系
2010年10月25日
实验1Java运行环境的安装、配置与运行
一、实验目的
1.掌握下载JavaSDK软件包。
2.掌握设置Java程序运行环境的方法。
3.掌握编写与运行Java程序的方法。
4.了解Java语言的概貌。
5.安装、掌握eclipse软件,为学习Java语言和进行Java程序的实验做好准备工作。
6.浏览Applet程序
二、实验要求
1.安装并设置JavaSDK软件包。
2.编写一个简单的Java程序,在屏幕上输出“湖南人文科技学院欢迎你!
”。
publicclassHello
{
publicstaticvoidmain(Stringargs[]){
System.out.println("湖南人文科技学院欢迎你!
");
}
}
3.掌握运行Java程序的步骤。
4.浏览SDK自带的Applet应用小程序。
三、实验内容
(一)SDK的下载与安装
1.机器要求
Java对机器运行要求不高。
2.下载SDK
为了建立基于SDK的Java运行环境,需要先下载Sun的免费SDK软件包。
SDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。
jdk-6u21-windows-i586.exe的下载页面是:
下载后得到jdk1.6.0_21SDK软件包。
3.安装SDK
运行下载的"jdk-6u21-windows-i586.exe"软件包,可安装SDK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为C:
\ProgramFiles\Java\jdk1.6.0_21,默认的组件选择是全部安装。
4.SDK中的主要文件夹和文件
安装成功后,C:
\ProgramFiles\Java\jdk1.6.0_21中的文件和子目录其中,bin文件夹中包含编译器(javac.exe)、解释器(javac.exe)、Applet查看器(appletviewer.exe)等可执行文件
(二)设置环境变量
SDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。
很多人可能会不习惯,但这是Sun特意采取的策略,为的是把精力更多地投入到Java语言本身而不是花在开发工具上。
为了能正确方便的使用SDK,可手工配置一些Windows的环境变量,下面以Windows/xp/NT/2000为例说明相关配置。
1.设置WindowsXP/NT/2000
◆在桌面"我的电脑"图标上单击右键,选择"属性"菜单,将出现系统特性设置界面
◆在"高级"选项卡中单击"环境变量"按钮。
将出现"环境变量"设置界面
◆在"系统变量"框中选择"Path",然后单击"编辑"按钮,在出现的"编辑系统变量"对话框中
◆在"变量值"栏的命令前添加"C:
\ProgramFiles\Java\jdk1.6.0_21\bin;"命令
◆如果jdk是6.0以前的版本,则还需设置环境变量"classpath",方法参照教材。
◆设置完成后,单击"开始"→"运行"→输入”cmd”,确定→打开DOS窗口,在命令提示符下输入"javac",回车后,如果出现其用法参数提示信息,则安装正确。
2.设置DOS起始位置
为了在打开DOS窗口时可以直接进入包含你开发的java程序的路径下,下面以WindowsXP/2000为例说明设置过程。
◆首先建立一个存放java源程序的路径和文件夹,如将实验中建立的java源程序都存放在为d:
\java"文件夹中。
◆打开DOS窗口,在提示符下输入d:
,再回车
◆再输入cdd:
\java,再回车,切换到d盘的java子目录下。
(三)编写、编译Java源程序
1.打开一个纯文本编辑器,键入如下程序:
publicclassHello{
publicstaticvoidmain(Stringargs[]){
System.out.println("湖南人文科技学院欢迎你!
");
}
}
2.将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。
根据前面环境变量的设置,Hello.java应该保存在"d:
\java>"的路径下。
(四)编译Java源程序
Java源程序编写后,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成可执行的程序代码。
Java源程序都是扩展名为.java的文本文件。
编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。
语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。
2.键入编译器文件名和要谝译的源程序文件名(javacHello.java)。
3.按回车键开始编译(注意:
文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入"dir"按回车键后可在目录中看到生成了一个同名字的.class文件"Hello.class"。
否则,将显示出错信息。
(五)运行Java程序
使用Java解释器(java.exe)可将编译后的字节码文件Hello.class解释为本地计算机代码。
在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名javaHello,按回车键即开始解释并可看到运行结果.
实验2Java语言基础
一、实验目的
1.了解Java的数据类型
2.掌握各种变量的声明方式。
3.理解运算符的优先级。
4.掌握Java基本数据类型、运算符与表达式。
5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
6.通过以上内容,掌握Java语言的编程规则。
二、实验要求
1.编写一个声明Java不同数据类型变量的程序。
2.编写一个使用运算符、表达式、变量的程序。
3.编写一个使用Java数组的的程序。
4.编写表达式语句、复合语句的程序。
5.编写使用不同选择结构的程序。
6.编写使用不同循环结构结构的程序。
三、实验内容
(一)声明不同数据类型的变量
1.编写声明不同数据类型变量的程序文件SY2_1.java,源代码如下。
publicclassSY2_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.编译并运行该程序
(二)了解变量的使用范围
1.建立SY2_2.java文件,通过本程序了解变量的使用范围,源代码如下。
publicclassSY2_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);
//编译时将出错,已出k的使用范围
}
}
2.编译SY2_2.java
此时会出现错误提示。
因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
3.修改上面的程序。
4.成功运行该程序。
思考:
SY2_2.java程序说明了什么问题?
(三)使用关系运算符和逻辑运算符
1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
classSY2_3{
publicstaticvoidmain(Stringargs[]){
inta=25,b=20,e=3,f=0;
booleand=a
System.out.println("a=25,b=20,e=3,f=0");
System.out.println("因为关系表达式a
"+d);
if(e!
=0&&a/e>5)
System.out.println("因为e非0且a/e为8大于5,所以输出a/e="+a/e);
if(f!
=0&&a/f>5)
System.out.println("a/f="+a/f);
else
System.out.println("因为f值为0,所以输出f="+f);
}
}
2.编译并运行该程序.
(四)使用表达式语句与复合语句
1.建立包含表达式语句程序,源代码如下:
classSY2_4{
publicstaticvoidmain(String[]args){
intk,i=3,j=4;
k=20*8/4+i+j*i;
System.out.println("表达式(20*8/4+i+j*i)="+k);
}
}
2.建立包含复合语句程序,源代码如下:
classSY2_5{
publicstaticvoidmain(Stringargs[]){
intk,i=3,j=4;
k=i+j;
System.out.println("在复合块外的输出k="+k);
{
floatf;
f=j+4.5F;
i++;
System.out.println("在复合块内的输出f="+f);
System.out.println("在复合块内的输出k="+k);
}
System.out.println("在复合块外的输出i="+i);
}
}
3.编译并运行上述两个源程序
4.将变量i在块内定义会怎样?
改变其他变量的位置看看会发生什么变化。
思考:
指出程序的复合结构以及变量的使用范围。
(五)使用选择语句
1.使用if...else语句
◆程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;能被4整除,又能被100整除。
◆编写源程序文件,代码如下:
publicclassSY2_6{
publicstaticvoidmain(Stringargs[]){
booleanleap;
intyear=2005;
if((year%4==0&&year%100!
=0)||(year%400==0))//方法1
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
year=2008;//方法2
if(year%4!
=0)
leap=false;
elseif(year%100!
=0)
leap=true;
elseif(year%400!
=0)
leap=false;
else
leap=true;
if(leap==true)
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
year=2050;//方法3
if(year%4==0){
if(year%100==0){
if(year%400==0)
leap=true;
else
leap=false;
}
else
leap=false;
}
else
leap=false;
if(leap==true)
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
}
}
◆编译运行程序
思考:
本程序中有几个选择语句,哪些具有嵌套关系?
2.使用switch语句
◆程序功能:
在不同温度时显示不同的解释说明。
◆程序源代码如下。
classSY2_7{
publicstaticvoidmain(Stringargs[]){
intc=38;
switch(c<10?
1:
c<25?
2:
c<35?
3:
4){
case1:
System.out.println(""+c+"℃有点冷。
要多穿衣服。
");
case2:
System.out.println(""+c+"℃正合适。
出去玩吧。
");
case3:
System.out.println(""+c+"℃有点热。
");
default:
System.out.println(""+c+"℃太热了!
开空调。
");
}
}
}
◆编译运行程序
(六)使用循环语句
1.for循环语句练习
◆程序功能:
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
◆程序源代码如下:
classSY2_8{
publicstaticvoidmain(Stringargs[]){
inth,c;
System.out.println("摄氏温度华氏温度");
for(c=0;c<=40;c+=5){
h=c*9/5+32;
System.out.println(""+c+""+h);
}
}
}
◆编译并运行程序,其结果如图2.9所示。
2.while循环语句练习
◆程序功能:
运行程序后从键盘输入数字1/2/3后,可显示抽奖得到的奖品;如果输入其它数字或字符显示"没有奖品给你!
"。
◆程序源代码如下:
importjava.io.*;
classSY2_9{
publicstaticvoidmain(Stringargs[])throwsIOException{
charch;
System.out.println("按1/2/3数字键可得大奖!
");
System.out.println("按空格键后回车可退出循环操作.");
while((ch=(char)System.in.read())!
='')
{
System.in.skip
(2);//跳过回车键
switch(ch){
case'1':
System.out.println("恭喜你得大奖,一辆汽车!
");
break;
case'2':
System.out.println("不错呀,你得到一台笔记本电脑!
");
break;
case'3':
System.out.println("没有白来,你得到一台冰箱!
");
break;
default:
System.out.println("真不幸,你没有奖品!
下次再来吧。
");
}
}
}
}
◆编译源程序。
◆在命令提示符窗口运行程序,然后分别按1、2、3、r,记录结果。
3.do…while循环语句练习
◆程序功能:
求1+2+…+100之和,并将求和表达式与所求的和显示出来。
◆程序源代码如下:
classSY2_10{
publicstaticvoidmain(Stringargs[]){
intn=1,sum=0;
do{
sum+=n++;
}
while(n<=100);
System.out.println("1+2+...+100="+sum);
}
}
◆编译并运行程序
4.多重循环练习
◆输出九九乘法表的程序,源代码如下。
publicclassSY2_11
{
publicstaticvoidmain(String[]args)
{
for(inta=2;a<=9;a++)
{
for(intb=1;b<=9;b++)
{
System.out.print(a+"*"+b+"="+a*b+"");
}
System.out.println();
}
}
}
◆编译并运行程序
实验3Java面向对象基础
一、实验目的
了解Java中包(package)、接口(interface)和异常处理(exception)的作用,掌握包、接口、异常处理的设计方法。
二、实验要求
1.了解Java系统包的结构。
2.掌握创建自定义包的方法。
3.掌握使用系统接口的技术和创建自定义接口的方法。
4.理解系统异常处理的机制和创建自定义异常的方法。
三、实验内容
(一)了解并使用Java的系统包
包是类和接口的集合。
利用包可以把常用的类或功能相似的类放在一个包中。
Java语言提供系统包,其中包含了大量的类,可以在编写Java程序时直接引用它们。
为便于管理和使用它们,将这些类分为了不同的包。
包又称类库或API包,所谓API(ApplicationProgramInterface)即应用程序接口。
API包-方面提供丰富的类与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统软硬件打交道,圆满实现用户程序的功能。
所有JavaAPI包都以"java."开头,以区别用户创建的包。
接口解决了Java不支持多重继承的问题,可以通过实现多个接口达到与多重继承相同的功能。
处理程序运行时的错误和设计程序同样重要,只有能够完善处理运行时出错的程序,软件系统才能长期稳定地运行,异常处理就是说明如何处理程序运行时出错的问题。
(二)创建并使用自定义包
1.自定义包的声明方式
声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。
2.创建自定义包Mypackage
在存放源程序的文件夹中建立一个子文件夹Mypackage。
例如,在"E:
\java\程序"文件夹之中,创建一个与包同名的子文件夹Mypackage(E:
\java\程序\Mypackage),并将编译过的class文件放入该文件夹中。
注意:
包名与文件夹名大小写要一致。
再添加环境变量classpath的路径,例如:
E:
\j2sdk1.4.2_01\lib;E:
\java\程序
3.在包中创建类
◆YMD.java程序功能:
在源程序中,首先声明使用的包名Mypackage,然后创建YMD类,该类具有计算今年的年份,可以输出一个带有年月日的字符串的功能。
◆编写YMD.java文件,源代码如下。
packageMypackage;//声明存放类的包
importjava.util.*;//引用java.util包
publicclassSY3_1_YMD{
privateintyear,month,day;
publicstaticvoidmain(String[]arg3){}
publicSY3_1_YMD(inty,intm,intd){
year=y;
month=(((m>=1)&(m<=12))?
m:
1);
day=(((d>=1)&(d<=31))?
d:
1);
}
PublicSY3_1_YMD(){
this(0,0,0);
}
publicstaticintthisyear(){
returnCalendar.getInstance().get(Calendar.YEAR);//返回当年的年份
}
publicintyear(){
returnyear;//返回年份
}
publicStringtoString(){
returnyear+"-"+month+"-"+day;//返回转化为字符串的年-月-日
}
}
◆编译SY3_1_YMD.java文件,然后将SY3_1_YMD.class文件存放到Mypackage文件夹中。
3.编写使用包Mypackage中SY3_1_YMD类的程序
◆SY3_2.java程序功能:
给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 实验 指导书 16