面向对象技术及应用实验指导.docx
- 文档编号:25441477
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:109
- 大小:1.87MB
面向对象技术及应用实验指导.docx
《面向对象技术及应用实验指导.docx》由会员分享,可在线阅读,更多相关《面向对象技术及应用实验指导.docx(109页珍藏版)》请在冰豆网上搜索。
面向对象技术及应用实验指导
面向对象技术及应用实验指导
朱小柯、陈国强等
河南大学计算机与信息工程学院
一、上机实验目的
上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解Java
语言的基本结构和程序设计方法。
通过亲手编程掌握Java语言编程的方法。
二、实验基本内容
为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了8个实验。
学生可以在课内机时先完成指导书中给出的程序,理解所学的知识,在此基础上再编写其他应用程序。
指导书中的
8个实验如下。
1.Java开发环境设置
2.java基本语法练习
3.面向对象程序设计基本操作
4.异常处理
5.输入输出流操作
6.图形用户界面设计
7.网络编程
8.JDBC数据库编程
三、实验任务与时间安排
《Java语言》是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术进行编程练习。
《Java语言》上机实验时间为36学时,与教学内容同时进行上机实验。
36个上机学时分为8个实验。
目录
实验1Java开发环境设置5
一、实验目的5
二、实验要求5
三、实验内容5
实验2Java基本语法练习21
一、实验目的21
二、实验要求21
三、实验内容21
四、练习题28
实验3面向对象程序设计基本操作29
一、实验目的29
二、实验要求29
三、实验内容29
实验4异常处理35
一、实验目的35
二、实验要求35
三、实验内容35
四、思考题43
实验5输入输出流操作44
一、实验目的44
二、实验要求44
三、实验内容44
实验6图形用户界面设计48
一、实验目的48
二、实验要求48
三、实验内容48
四、练习题68
实验7网络编程69
一、实验目的69
二、实验要求69
三、实验内容69
四、思考题71
实验8JDBC数据库编程72
一、实验目的72
二、实验要求72
三、实验内容72
四、思考题72
编程注意事项73
一、可读性73
二、亲手编写源程序73
三、立即运行程序73
建议参考书73
实验1Java开发环境设置
一、实验目的
1.掌握下载JavaJDK软件包、UltraEdit编辑软件的方法。
2.掌握设置Java程序运行环境的方法。
3.掌握编写与运行Java程序的方法。
4.了解Java语言的概貌。
5.为学习Java语言和进行Java程序的实验做好准备工作。
二、实验要求
1.下载、安装并设置JavaSE软件包。
2.下载并安装UltraEdit编辑软件。
3.编写一个简单的Java程序。
4.掌握运行Java程序的步骤。
5.浏览JDK自带的Applet应用小程序。
三、实验内容
(一)JDK的下载与安装
1.机器要求
Java对机器运行要求不高。
下面给出的是基于Windows平台的机器要求。
硬件要求:
CPUPII以上,64M内存,1OOM硬盘空间即可。
软件要求:
Windows98/Me/XP/NT/2000,IE5以上。
2.下载JDK
为了建立基于JDK的Java运行环境,需要先下载Sun的免费JDK软件包。
JDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。
在浏览器中输入1.1所示的Sun公司网站页面。
图1.1
在页面右边“PopularDownloads”栏中可看到最新版的JDK软件包,这里显示的是“JavaSE”(当前最新版)。
单击“JavaSE”超链接,可看到图1.2所示页面。
图1.2
在页面的“Download”栏可以选择下载J2SE6.0软件包。
单击页面中“JDK6update2”列对应的“DOWNLOAD”超链接,可看到图1.3所示的下载协议说明书。
图1.3
单击“ACCEPT”按钮,同意Sun公司的协议,单击“WindowsOfflineInstallation(build06),Multi-language”超链接,开始下载工作。
3.安装JDK
运行下载的“jdk-6u2-windows-i586-p.exe”软件包,可安装JDK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为C:
\ProgramFiles\Java\jdk1.6.0_02,默认的组件选择是全部安装。
4.JDK中的主要文件夹和文件安装成功后,C:
\ProgramFiles\Java\jdk1.6.0_02中的文件和子目录结构如图1.4所示。
图1.4
其中,bin文件夹中包含编译器(javac.exe)、解释器(javac.exe)、Applet查看器(appletviewer.exe)等可执行文件,如图1.5所示。
Demo文件夹中包含一些源代码的程序示例。
图1.5
(二)设置环境变量
JDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。
很多人可能会不习惯,但这是Sun特意采取的策略,为的是把精力更多地投入到Java语言本身而不是花在开发工具上。
为了能正确方便的使用JDK,可手工配置一些Windows的环境变量,Windows98与Windows
/xp/NT/2000的配置略有不同。
1.设置Windows98
在C:
\autoexec.bat文件中,添加以下内容:
setpath=%path%;C:
\ProgramFiles\Java\jdk1.6.0_02\bin
setclasspath=.;C:
\ProgramFiles\Java\jdk1.6.0_02\lib\;%classpath%
C:
\ProgramFiles\Java\jdk1.6.0_02\bin为程序安装路径,如果安装时做了修改,这里必须做出相应的修改。
“setpath”语句设置Java编译运行程序的路径,“setclasspath”语句设置Java包的路径,其中的“.”表示在当前目录下均可执行Java程序。
autoexec.bat文件修改后存盘,然后重新启动计算机,即完成了设置。
2.设置WindowsXP/NT/2000
以WindowsXP为例说明设置过程。
在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置界面,如图1.6所示。
图1.6
在“高级”选项卡中单击“环境变量”按钮。
将出现“环境变量”设置界面,如图1.7所示。
图1.7
在“系统变量”框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令前添加“C:
\ProgramFiles\Java\jdk1.6.0_02\bin;”命令,如图1.8所示。
图1.8
新建一个classpath变量,用同样方法设置环境变量“classpath”,其值为“.;C:
\ProgramFiles\Java\jdk1.6.0_02\lib”命令。
设置完成后,单击“开始”→“所有程序”→“附件”→“命令提示符”打开DOS窗口,在命
令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则安装正确,如图1.9
所示。
图1.9
3.设置DOS起始位置
为了在打开DOS窗口时可以直接进入包含你开发的java程序的路径下,下面以WindowsXP/2000
为例说明设置过程。
(1)首先建立一个存放java源程序的路径和文件夹,如将实验中建立的java源程序都存放在为
“e:
\java\程序”文件夹中。
(2)单击“开始”→“所有程序”→“附件”→“命令提示符”,选择“命令提示符”选项右击,在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符属性”对话框,如图1.10所示。
(3)在“命令提示符属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:
\java\
程序”,单击“确定”按钮。
进行了上面的设置后,打开DOS窗口时将直接进入“e:
\java\程序>”路径下。
如果没有进行上述设置,可使用DOS命令,直接输入“e:
”按回车进入到e盘,再输入“cdjava”
到e盘的java子目录下,再输入“cd程序”即可到“e:
\java\程序>”路径下。
图1.10
(三)使用UltraEdit
要编写Java程序,需要有文本编辑器。
可以使用操作系统提供的Edit或记事本作为编辑器,也选择UltraEdit编辑软件,它可以使用不同颜色显示Java的关键字和类名,简单好用。
1.下载并安装UltraEdit编辑软件
UltraEdit编辑软件的安装方法很简单,安装软件提示要求去做即可。
2.编写在屏幕上显示文字“欢迎你学习Java语言!
”的文件(Hello.java)。
打开UltraEdit编辑软件,如图1.11所示,在其右边文本区输入如下代码。
publicclassHello{
publicstaticvoidmain(Stringargs[]){System.out.println("欢迎你学习Java语言!
");
}
}
图1.11
3.将文件命名为Hello.java,保存为java格式文件,保存在“e:
\java\程序>”的路径下。
(四)编译Java源程序
Java源程序编写后,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成可执行的程序代码。
Java源程序都是扩展名为.java的文本文件。
编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。
语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。
2.键入编译器文件名和要谝译的源程序文件名,如图1.12所示。
javacHello.java
3.按回车键开始编译(注意:
文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个
同名字的.class文件“Hello.class”,如图1.12所示。
否则,将显示出错信息。
图1.12
(五)运行Java程序
使用Java解释器(java.exe)可将编译后的字节码文件Hello.class解释为本地计算机代码。
在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名javaHello,按回车键即开始解释并可看到运行结果,如果看到如图1.13所示结果,表明程序运行成功了,这是一种字符方式的应用程序其结果显示在屏幕。
图1.13
(六)浏览Applet程序
在C:
\ProgramFiles\Java\jdk1.6.0_02\demo\applets\Clock文件夹中用浏览器打开网页文件example1.html,就可以看到一个嵌入到Web页面的Applet开始运行,一个模拟时钟出现在网页上,如图1.14所示,显示出系统当前时间。
图1.14
实验2Java基本语法练习
一、实验目的
1.了解Java的数据类型
2.掌握各种变量的声明方式。
3.理解运算符的优先级。
4.掌握Java基本数据类型、运算符与表达式、数组的使用方法。
5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
6.通过以上内容,掌握Java语言的编程规则。
二、实验要求
1.编写一个声明Java不同数据类型变量的程序。
2.编写一个使用运算符、表达式、变量的程序。
3.编写一个使用Java数组的的程序。
4.编写表达式语句、复合语句的程序。
5.编写使用不同选择结构的程序。
6.编写使用不同循环结构结构的程序。
三、实验内容
(一)声明不同数据类型的变量
1.编写声明不同数据类型变量的程序文件LX2_1.java,源代码如下。
publicclassLX2_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.编译并运行该程序,结果如图2.1所示。
图2.1
(二)了解变量的使用范围
1.建立LX2_2.java文件,通过本程序了解变量的使用范围,源代码如下。
publicclassLX2_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.编译LX2_2.java
此时会出现错误提示如图2.2所示。
因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
图2.2
3.修改上面的程序。
4.成功运行该程序。
思考:
LX2_2.java程序说明了什么问题?
(三)使用关系运算符和逻辑运算符
1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
classLX2_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.编译并运行该程序,结果如图2.3所示。
图2.3
(四)使用数组
1.建立使用数组的程序,本程序建立了一个长度为5的1维数组,一个长度为12的2维数组,源代码如下。
publicclassLX2_4{
publicstaticvoidmain(Stringargs[]){
inta[]=newint[5];
intarr1[][]=newint[3][4];
a[0]=10;a[1]=10+a[0];a[2]=30;a[3]=40;
a[4]=a[1]+a[2];
arr1[0][0]=0;arr1[0][1]=1;arr1[0][2]=2;arr1[1][0]=3;arr1[1][1]=4;arr1[1][2]=5;arr1[2][0]=6;arr1[2][1]=7;arr1[2][2]=8;
System.out.println("a["+0+"]="+a[0]);System.out.println("a["+1+"]="+a[1]);System.out.println("a["+2+"]="+a[2]);System.out.println("a["+3+"]="+a[3]);System.out.println("a["+4+"]="+a[4]);
System.out.println("arr1("+0+","+0+")="+arr1[0][0]);
System.out.println("arr1("+0+","+1+")="+arr1[0][1]);System.out.println("arr1("+0+","+2+")="+arr1[0][2]);System.out.println("arr1("+1+","+0+")="+arr1[1][0]);System.out.println("arr1("+1+","+1+")="+arr1[1][1]);System.out.println("arr1("+1+","+2+")="+arr1[1][2]);
}
}
2.编译并运行程序,结果如图2.4所示。
图2.4
(五)使用表达式语句与复合语句
1.建立包含表达式语句程序,源代码如下。
classLX2_5{
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.建立包含复合语句程序,源代码如下。
classLX2_6{
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.编译并运行上述两个源程序,结果如图2.5、2.6所示。
图2.5
图2.6
4.将变量i在块内定义会怎样?
改变其他变量的位置看看会发生什么变化。
思考:
指出程序的复合结构以及变量的使用范围。
(六)使用选择语句
1.使用if...else语句
(1)程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;能被4整除,又能被100整除。
(2)编写源程序文件,代码如下。
publicclassLX2_7{
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;//方法2if(year%4!
=0)leap=false;
elseif(year%100!
=0)
leap=true;
elseif(year%400!
=0)
leap=false;elseleap=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;
}
elseleap=false;
}
elseleap=false;
if(leap==true)
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
}
}
(3)编译运行程序,其结果如图2.7所示。
图2.7
思考:
本程序中有几个选择语句,哪些具有嵌套关系?
2.使用switch语句
(1)程序功能:
在不同温度时显示不同的解释说明。
(2)程序源代码如下。
classLX2_8{
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+"℃太热了!
开空调。
");
}
}
}
(3)编译运行程序,其结果如图2.8所示。
图2.8
(七)使用循环语句
1.for循环语句练习
(1)程序功能:
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
(2)程序源代码如下。
classLX2_9{
publicstaticvoidmain(Stringargs[]){
inth,c;
System.out.println("摄氏温度华氏温度");
for(c=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 技术 应用 实验 指导
![提示](https://static.bdocx.com/images/bang_tan.gif)