Java实验指导书16文档格式.docx
《Java实验指导书16文档格式.docx》由会员分享,可在线阅读,更多相关《Java实验指导书16文档格式.docx(68页珍藏版)》请在冰点文库上搜索。
运行下载的"
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{
byteb=0x55;
shorts=0x55ff;
inti=1000000;
longl=0xffffL;
charc='
a'
;
floatf=0.23F;
doubled=0.7E-3;
booleanB=true;
StringS="
这是字符串类数据类型"
字节型变量b="
+b);
短整型变量s="
+s);
整型变量i="
+i);
长整型变量l="
+l);
字符型变量c="
+c);
浮点型变量f="
+f);
双精度变量d="
+d);
布尔型变量B="
+B);
字符串类对象S="
+S);
2.编译并运行该程序
(二)了解变量的使用范围
1.建立SY2_2.java文件,通过本程序了解变量的使用范围,源代码如下。
publicclassSY2_2{
staticinti=10;
{
intk=10;
i="
k="
+k);
//编译时将出错,已出k的使用范围
2.编译SY2_2.java
此时会出现错误提示。
因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
3.修改上面的程序。
4.成功运行该程序。
思考:
SY2_2.java程序说明了什么问题?
(三)使用关系运算符和逻辑运算符
1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
classSY2_3{
inta=25,b=20,e=3,f=0;
booleand=a<
b;
a=25,b=20,e=3,f=0"
因为关系表达式a<
b为假,所以其逻辑值为:
"
if(e!
=0&
&
a/e>
5)
因为e非0且a/e为8大于5,所以输出a/e="
+a/e);
if(f!
a/f>
a/f="
+a/f);
else
因为f值为0,所以输出f="
2.编译并运行该程序.
(四)使用表达式语句与复合语句
1.建立包含表达式语句程序,源代码如下:
classSY2_4{
publicstaticvoidmain(String[]args){
intk,i=3,j=4;
k=20*8/4+i+j*i;
表达式(20*8/4+i+j*i)="
2.建立包含复合语句程序,源代码如下:
classSY2_5{
k=i+j;
在复合块外的输出k="
floatf;
f=j+4.5F;
i++;
在复合块内的输出f="
在复合块内的输出k="
在复合块外的输出i="
3.编译并运行上述两个源程序
4.将变量i在块内定义会怎样?
改变其他变量的位置看看会发生什么变化。
指出程序的复合结构以及变量的使用范围。
(五)使用选择语句
1.使用if...else语句
◆程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;
能被4整除,又能被100整除。
◆编写源程序文件,代码如下:
publicclassSY2_6{
booleanleap;
intyear=2005;
if((year%4==0&
year%100!
=0)||(year%400==0))//方法1
System.out.println(year+"
年是闰年"
年不是闰年"
year=2008;
//方法2
if(year%4!
=0)
leap=false;
elseif(year%100!
leap=true;
elseif(year%400!
if(leap==true)
year=2050;
//方法3
if(year%4==0){
if(year%100==0){
if(year%400==0)
◆编译运行程序
思考:
本程序中有几个选择语句,哪些具有嵌套关系?
2.使用switch语句
在不同温度时显示不同的解释说明。
◆程序源代码如下。
classSY2_7{
intc=38;
switch(c<
10?
1:
c<
25?
2:
35?
3:
4){
case1:
+c+"
℃有点冷。
要多穿衣服。
case2:
℃正合适。
出去玩吧。
case3:
℃有点热。
default:
℃太热了!
开空调。
◆编译运行程序
(六)使用循环语句
1.for循环语句练习
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
◆程序源代码如下:
classSY2_8{
publicstaticvoidmain(Stringargs[]){
inth,c;
摄氏温度华氏温度"
for(c=0;
c<
=40;
c+=5){
h=c*9/5+32;
+h);
◆编译并运行程序,其结果如图2.9所示。
2.while循环语句练习
运行程序后从键盘输入数字1/2/3后,可显示抽奖得到的奖品;
如果输入其它数字或字符显示"
没有奖品给你!
importjava.io.*;
classSY2_9{
publicstaticvoidmain(Stringargs[])throwsIOException{
charch;
按1/2/3数字键可得大奖!
按空格键后回车可退出循环操作."
while((ch=(char)System.in.read())!
='
'
)
System.in.skip
(2);
//跳过回车键
switch(ch){
case'
1'
:
恭喜你得大奖,一辆汽车!
break;
2'
不错呀,你得到一台笔记本电脑!
3'
没有白来,你得到一台冰箱!
真不幸,你没有奖品!
下次再来吧。
◆编译源程序。
◆在命令提示符窗口运行程序,然后分别按1、2、3、r,记录结果。
3.do…while循环语句练习
◆程序功能:
求1+2+…+100之和,并将求和表达式与所求的和显示出来。
◆程序源代码如下:
classSY2_10{
intn=1,sum=0;
do{
sum+=n++;
while(n<
=100);
1+2+...+100="
+sum);
◆编译并运行程序
4.多重循环练习
◆输出九九乘法表的程序,源代码如下。
publicclassSY2_11
{
publicstaticvoidmain(String[]args)
for(inta=2;
a<
=9;
a++)
for(intb=1;
b<
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.自定义包的声明方式
<
package>
自定义包名>
声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。
2.创建自定义包Mypackage
在存放源程序的文件夹中建立一个子文件夹Mypackage。
例如,在"
E:
\java\程序"
文件夹之中,创建一个与包同名的子文件夹Mypackage(E:
\java\程序\Mypackage),并将编译过的class文件放入该文件夹中。
注意:
包名与文件夹名大小写要一致。
再添加环境变量classpath的路径,例如:
E:
\j2sdk1.4.2_01\lib;
\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>
(d<
=31))?
d:
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程序功能:
给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生