版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计实验指导书成都信息工程学院计算机系目 录实验一Java 运行环境的安装、配置与运行- 4 -一、实验目的- 4 -二、实验内容- 4 -三、实验仪器、设备- 4 -四、实验步骤- 4 -五、实验报告要求- 6 -六、思考题- 6 -实验二Java 基本语法练习- 6 -一、实验目的- 6 -二、实验内容- 7 -三、实验仪器、设备- 7 -四、实验步骤- 7 -五、实验报告要求- 12 -六、思考题- 13 -实验三 类、对象基础知识- 13 -一、实验目的- 13 -二、实验内容- 13 -三、实验仪器、设备- 13 -四、实验步骤- 13 -五、实验报告要求- 17 -六、
2、思考题- 17 -实验四 包、访问权限和类的继承- 17 -一、实验目的- 17 -二、实验内容- 17 -三、实验仪器、设备- 18 -四、实验步骤- 18 -五、实验报告要求- 23 -六、思考题- 23 -实验五 抽象类和接口- 23 -一、实验目的- 23 -二、实验内容- 23 -三、实验仪器、设备- 24 -四、实验步骤- 24 -五、实验报告要求- 27 -六、思考题- 27 -实验六 数组和字符串- 28 -一、实验目的- 28 -二、实验内容- 28 -三、实验仪器、设备- 28 -四、实验步骤- 28 -五、实验报告要求- 31 -六、思考题- 31 -实验七Applet的
3、使用- 31 -一、实验目的- 31 -二、实验内容- 31 -三、实验仪器、设备- 31 -四、实验步骤- 31 -五、实验报告要求- 34 -六、思考题- 34 -实验八 建立图形用户界面- 35 -一、实验目的- 35 -二、实验内容- 35 -三、实验仪器、设备- 35 -四、实验步骤- 35 -五、实验报告要求- 39 -六、思考题- 39 -实验九 高级用户界面GUI设计- 39 -一、实验目的- 39 -二、实验内容- 39 -三、实验仪器、设备- 40 -四、实验步骤- 40 -五、实验报告要求- 46 -六、思考题- 46 -实验十 多线程- 47 -一、实验目的- 47 -
4、二、实验内容- 47 -三、实验仪器、设备- 47 -四、实验步骤- 47 -五、实验报告要求- 48 -六、思考题- 48 -实验十一 异常处理- 48 -一、实验目的- 48 -二、实验内容- 49 -三、实验仪器、设备- 49 -四、实验步骤- 49 -五、实验报告要求- 50 -六、思考题- 50 -实验十二 流与文件- 50 -一、实验目的- 50 -二、实验内容- 51 -三、实验仪器、设备- 51 -四、实验步骤- 51 -五、实验报告要求- 55 -六、思考题- 55 -实验十三 Java高级编程- 55 -一、实验目的- 55 -二、实验内容- 55 -三、实验仪器、设备-
5、55 -四、实验步骤- 55 -实验报告要求- 57 -六、思考题- 57 -实验十三 数据库的连接:JDBC- 57 -一、实验目的- 57 -二、实验内容- 57 -三、实验仪器、设备- 58 -四、实验步骤- 58 -五、实验报告要求- 58 -六、思考题- 58 -实验十三 综合设计实验拼图游戏- 59 -一、实验目的- 59 -二、实验内容- 59 -三、实验仪器、设备- 59 -四、实验步骤- 59 -五、实验报告要求- 59 -六、思考题- 59 -实验一Java 运行环境的安装、配置与运行一、实验目的1. 熟悉JDK开发环境的安装和配置、掌握常用的JDK命令 2了解Java A
6、pplication和Java Applet的程序基本结构和运行方式 3熟悉Java基本编程结构 二、实验内容1. SDK 的下载与安装2环境变量的设置3编写简单的程序,熟悉JDK(javac、java、appletviewer)命令的使用 4编写简单程序,熟悉Java基本编程结构 三、实验仪器、设备 Java 对机器运行要求不高,给出基于Windows 平台的机器要求:硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。四、实验步骤1SDK 的下载与安装(1)下载SDK 为了建立基于SDK 的Java
7、 运行环境,需要先下载Sun 的免费SDK 软件包。SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。在浏览器中输入/,在页面的“Download J2SE v 1.4.2_01 ”栏可以选择下载 J2SE v 1.4.2_01 SDK 软件包。有两种选择:一种是在线安装“Windows Installation”;一种是离线安装“Windows Offline Installation”。(2)安装SDK运行下载的“j2sdk-1_4_2_01-windows-i586.exe”软件包,可安装S
8、DK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为C: j2sdk1.4.2_01(这里选择E 盘),默认的组件选择是全部安装。(3)SDK 中的主要文件夹和文件安装成功后,E: j2sdk1.4.2_01 中的文件和子目录其中,bin 文件夹中包含编译器(javac.exe)、解释器(javac.exe)、Applet 查看器(appletviewer.exe)等可执行文件2环境变量的设置为了能正确方便的使用SDK,可手工配置一些Windows 的环境变量,Windows 98 与Windows/xp/NT/2000 的配置略有不同。下面以Windows/xp/NT/2000
9、为例说明相关配置。(1)设置Windows XP/NT/2000 在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置界面; 在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置界面; 在“系统变量”框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中; 在“变量值”栏的命令前添加“E:j2sdk1.4.2_01bin;”; 用同样方法设置环境变量“classpath”,其值E:j2sdk1.4.2_01lib;”; 设置完成后,单击“开始”“所有程序”“附件”“命令提示符”打开DOS 窗口,在命令提示符下输入“java”或“javac”,回
10、车后,如果出现其用法参数提示信息,则安装正确。(2)设置DOS 起始位置为了在打开DOS 窗口时可以直接进入包含用户开发的java 程序的路径下,下面以Windows XP/2000为例说明设置过程。 首先建立一个存放java 源程序的路径和文件夹,如将实验中建立的java 源程序都存放在为“e:java程序”文件夹中; 单击“开始”“所有程序”“附件”“命令提示符”,选择“命令提示符”选项右击; 在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符 属性”对话框; 在“命令提示符 属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:java程序”,单击“确定”按钮。进行了上面的设
11、置后,打开DOS 窗口时将直接进入“e:java程序”路径下。如果没有进行上述设置,可使用DOS 命令,直接输入“e:”按回车进入到e 盘,再输入“cd java”到e 盘的java 子目录下,再输入“cd 程序”即可到“e:java程序”路径下。3编写简单的程序,熟悉JDK(javac、java、appletviewer)命令的使用(1) javac命令 使用文本编辑器(记事本、UltraEdit或Jcreator等)编写类似如下的Java 语言源代码: public class Hello public static void main(String args) System.out.pr
12、intln(“Hello World!”); 将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。根据前面环境变量的设置,Hello.java 应该保存在“e:java程序”的路径下。1) 打开命令提示符窗口(MSDOS 窗口)进入Java 源程序所在路径。2) 键入编译器文件名和要编译的源程序文件名javac Hello.java3) 按回车键开始编译(注意:文件名H 要大写,否则运行会出问题)。如果源程序没有错误,则屏幕上没有输出,键入 “dir”按回车键后可在目录中看到生成了一个同名字的.class 文件“Hello. class”。否则,将显示出错信息。(2)
13、 java命令 在命令提示符窗口或MSDOS 窗口键入解释器文件名和要解释的字节码文件名java Hello,按回车键即开始解释并可看到运行结果。(3) appletviewer命令 编写类似如下Applet小应用程序: import java.awt.Graphics; import java.applet.Applet; public class Hello extends Applet public void paint(Graphics g) g.drawString(“Hello World!”,25,25); 将上述程序保存,文件名为Hello.java,使用javac命令编译该程
14、序编写如下启动AppletHelloWorld小应用程序的HTML文件: 将上述程序保存,文件名为Hello.html(该名字可随意),在命令提示符窗口或MSDOS 窗口键入appletviewer Hello.html,按回车键即可看到运行结果,当然也可以通过浏览器看到程序运行结果。4编写简单程序,熟悉Java基本编程结构 通过前两个简单的Java程序,可以得到Java的基本编程结构。五、实验报告要求1实验完成后,检查是否达到试验目的。2编写实验报告(打印或手写均可),在下一次上实验课时提交。3评出成绩,按五级(A,B,C,D、E)评分。六、思考题1.通过本实验的各个程序比较Java语言和C
15、语言的程序有哪些差别? 2. Java语言的程序结构是什么?其命名规则又是什么?实验二Java 基本语法练习一、实验目的1了解 Java 的数据类型 2掌握各种变量的声明方式。3理解运算符的优先级。 4掌握 Java 基本数据类型、运算符与表达式。 5理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 二、实验内容1. 声明不同数据类型的变量2了解变量的使用范围3使用关系运算符和逻辑运算符4使用表达式语句与复合语句5使用选择语句6使用循环语句三、实验仪器、设备 Java 对机器运行要求不高,给出基于Windows 平台的机器要求:硬件要求:CPU PII 以上,
16、64M 内存,1OOM 硬盘空间即可。软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。四、实验步骤1声明不同数据类型的变量 编写声明不同数据类型变量的程序文件 KY2_1.java,源代码如下: public class KY2_1 public static void main(String args) byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c=a; float f=0.23F; double d=0.7E-3; boolean B=true; String S=这是字符串类
17、数据类型; 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(字符串
18、类对象 S = +S); 编译并运行该程序,观察运行结果。2了解变量的使用范围 建立 KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下: public class KY2_2 static int i=10; public static void main(String args) int k=10; System.out.println(i=+i); System.out.println(k=+k); System.out.println(i=+i); System.out.println(k=+k); /编译时将出错,已出 k 的使用范围 编译 KY2_2.java,此
19、时会出现错误提示。因为变量 k 在方法块中声明,在方法块之外它是不存在的, 所以编译时会出错;重新修改上面的程序运行。 3使用关系运算符和逻辑运算符 建立使用关系运算符和逻辑运算符的程序文件,源代码如下: class KY2_3 public static void main(String args) int a=25, b=20, e=3, f=0; boolean d=ab; System.out.println(a=25,b=20,e=3,f=0); System.out.println(因为关系表达式 a5) System.out.println(因为 e 非 0 且 a/e 为 8
20、大于 5,所以输出 a/e +a/e); if (f!=0 & a/f5) System.out.println(a/f = +a/f); else System.out.println(因为 f 值为 0,所以输出 f = +f); 编译并运行该程序,观察运行结果。4使用表达式语句与复合语句 1)建立包含表达式语句程序,源代码如下: class KY2_4 public static void main(String args) int k, i=3, j=4; k=20*8/4+i+j*i; System.out.println(表达式(20*8/4+i+j*i)+k); 2)建立包含复合
21、语句程序,源代码如下: class KY2_5 public static void main(String args) int k, i=3, j=4; k=i+j; System.out.println(在复合块外的输出 k=+k); float f; f=j+4.5F; i+; System.out.println(在复合块内的输出 f=+f); System.out.println(在复合块内的输出 k=+k); System.out.println(在复合块外的输出 i=+i); 编译并运行上述两个源程序,观察运行结果,同时考虑将变量 i 在块内定义会怎样?改变其他变量的位置看看会发
22、生什么变化。 5使用选择语句 1)使用 if.else 语句 程序功能:使用 if.else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被 4 整除,但不能被 100 整除;能被 4 整除,又能被 100 整除。 编写源程序文件,代码如下: public class KY2_6 public static void main(String args) boolean leap; int year=2005; if (year%4=0 & year%100!=0) | (year%400=0) / 方法 1 System.out.println(year+ 年是闰年)
23、; else System.out.println(year+ 年不是闰年); year=2008; / 方法 2 if (year%4!=0) leap=false; else if (year%100!=0) leap=true; else if (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)
24、 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 语句 程序功能:在不同温度时显示不同的解释说明。程序源代码如下: class KY2_7 public static void main(String args) in
25、t c=38; switch (c10?1:c25?2:c35?3:4) case 1: System.out.println( +c+ 有点冷。要多穿衣服。); case 2: System.out.println( +c+ 正合适。出去玩吧。); case 3: System.out.println( +c+ 有点热。); default: System.out.println( +c+ 太热了!开空调。); 编译运行程序,观察运行结果。6使用循环语句 1)for 循环语句练习 程序功能:按 5 度的增量打印出一个从摄氏温度到华氏温度的转换表。 程序源代码如下: class KY2_8 p
26、ublic static void main (String args) int h,c; System.out.println(摄氏温度 华氏温度); for (c=0; c=40; c+=5) h=c*9/5+32; System.out.println( +c+ +h); 编译并运行程序,观察运行结果。 2)while 循环语句练习 程序功能:运行程序后从键盘输入数字 1/2/3 后,可显示抽奖得到的奖品;如果输入其它数字或字符显示“没有奖品给你!”。 程序源代码如下: import java.io.*; class KY2_9 public static void main(Strin
27、g args) throws IOException char ch; 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: Syst
28、em.out.println(没有白来,你得到一台冰箱!); break; default: System.out.println(真不幸,你没有奖品!下次再来吧。); 编译源程序。 在命令提示符窗口运行程序,然后分别按 1、2、3、r ,记录结果。 3)dowhile 循环语句练习 程序功能:求 12+100 之和,并将求和表达式与所求的和显示出来。 程序源代码如下: class KY2_10 public static void main(String args) int n=1, sum=0; do sum+=n+; while (n=100); System.out.println(1
29、+2.+100 =+sum); 编译并运行程序,观察运行结果。 4)多重循环练习 输出九九乘法表的程序,源代码如下: public class KY2_11 public static void main(String args) System.out.println(“ Multiplication Table”); System.out.println(“-”); System.out.print(“ | ”); for (int j=1;j=9;j+) System.out.print(“ ”+j); System.out.println(“ ”); for (int i=1;i=9;i
30、+) System.out.print(i+” | ”); for (int j=1;j=9;j+) if (i*j10) System.out.print(“ ”+i*j); else System.out.print(“ ”+i*j); System.out.println(); 编译并运行程序,观察运行结果。五、实验报告要求1实验完成后,检查是否达到试验目的。2编写实验报告(打印或手写均可),在下一次上实验课时提交。3评出成绩,按五级(A,B,C,D、E)评分。六、思考题1. 怎样修改九九乘法表中最后一段程序可以使得到的乘法表是下三角形式的? 2. 如何利用循环语句解决著名数学问题“百钱
31、百鸡”问题?实验三 类、对象基础知识一、实验目的1熟练掌握类、对象的的概念以及对事物的抽象。2熟练掌握成员、方法的概念以及构造方法的概念。3熟练掌握封装性,多态性的概念。4了解构造函数的作用5理解面向对象的程序设计方法。二、实验内容1. 建立一个类2定义一个类,实现银行帐户的概念,包括的变量有帐号和存款余额,包括的方法有存款、取款、查询余额和”显示帐号”。创建并使用对象。创建帐户类的对象,并完成相应操作3方法的使用4编程实现输入今天日期,输出明天日期。三、实验仪器、设备 Java 对机器运行要求不高,给出基于Windows 平台的机器要求:硬件要求:CPU PII 以上,64M 内存,1OOM
32、 硬盘空间即可。软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。四、实验步骤1定义一个描述学生3门课成绩的类。class Student String name,stuNumber; double score1,score2,score3; void set1(String s1,String s2) name=s1; stuNumber=s2; System.out.println(name+ +stuNumber); double setScore(double d1,double d2,double d3) double d; score1=d1; score2
33、=d2; score3=d3; d=d1+d2+d3; return d; 2定义一个类,实现银行帐户的概念,包括的变量有帐号和存款余额,包括的方法有存款、取款、查询余额和”显示帐号”。创建并使用对象。创建帐户类的对象,并完成相应操作提示:关键代码如下:public int getleftmoney()return leftmoney;public void savemoney(double money)leftmoney+=money;public void getmoney(double money)if(money=leftmoney)leftmoney-=money;elseSyste
34、m.out.println(只能取:+leftmoney);bankaccount ba=new bankaccount(888123,1000);ba.savemoney(21000);System.out.println(存入21000元后余额为:+ba.getleftmoney();ba.getmoney(11500);System.out.println(11500元后余额为:+ba.getleftmoney();3方法的使用(1)方法参数的传递,分析下列程序的结果,并运行验证。public class A public static void main(String args) in
35、t array=5,4,3,2,1; int a=0; int b=0; conveyValue(a,b); System.out.println(a=+a+,b=+b); converAddress(array); for(int i=0;iarray.length;i+) System.out.println(array+i+=+arrayi); static void conveyValue(int x,int y) x+=2; y+=3; System.out.println(x=+x+,y=+y); static void converAddress(int array1) for(
36、int i=0;id.daysInMonth()d.day=1;d.month+;if(d.month12)d.month=1;d.year+;return d;public int daysInMonth()switch(month)case 1:case 3:case 5:case 7:case 8:case 10: case 12:return 31;case 4:case 6:case 9:case11:return 30;default:if(year%4=0&year%100!=0|year%400=0)return 29;elsereturn 28;public static v
37、oid main(String args)E_day d1=new E_day();System.out.print(the current date is(year/month/day):);d1.outDate();System.out.println();System.out.print(its tomorrow is(year/month/day):);d1.tomorrow().outDate();System.out.println();E_day dd=new E_day(2006,9,9);System.out.print(the current date is(year/mo
38、nth/day):);dd.outDate();System.out.println();System.out.print(its tomorrow is(year/month/day):);dd.tomorrow().outDate();System.out.println();五、实验报告要求1实验完成后,检查是否达到试验目的。2编写实验报告(打印或手写均可),在下一次上实验课时提交。3评出成绩,按五级(A,B,C,D、E)评分。六、思考题1. 在本实验中,Java对类和对象的设计如何体现出面向对象的思想? 2. Java程序的结构?说明一般包括哪几部分,各部分的组成和作用。 3为什么说构
39、造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?4同名的不同方法共存的情况称为什么?如何区分这些同名方法?5定义一个复数类complex,内有两个成员变量:实部和虚部,还有两个方法:求两个复数和以及求两个复数差。编程验证该程序的复数加减运算是正确的。实验四 包、访问权限和类的继承一、实验目的1掌握包的概念,以及如何引入和定义包。2掌握继承的概念,理解继承的实质。3理解访问权限对继承的影响。4.进一步理解面向对象的实质。二、实验内容1. 编写一个类,将其打包,并在另外一个程序中引入该包。2编写一个能够体现出访问权限控制的程序。3完成一个具有父类和子类的定义程序。三、实验仪器、
40、设备 Java 对机器运行要求不高,给出基于Windows 平台的机器要求:硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。四、实验步骤1已知一个类:class A int a1,a2; A(int i,int j) a1=i;a2=j; 要求编写一个方法swap用来交换A类的两个对象的成员变量的值。整个程序如下:class A int a1,a2; A(int i,int j) a1=i; a2=j;void swap(A a)int x;x=a1;a1=a.a1;a.a1=x;x=a2;a2=a
41、.a2;a.a2=x;void output()System.out.println(a1=+a1+a2=+a2);public static void main(String as)A b1=new A(1,2),b2=new A(3,4);b1.output();b2.output();b1.swap(b2);b1.output();b2.output();2编写一个类,使该类中具有不同访问权限的成员,将这个类存放在一个包中。在另外一个包中再编写第二个类,在此类中编写一个方法,在该方法中操作第一个类中的成员。熟悉哪些成员可操作,哪些成员不可操作。/Father.javapackage to
42、m;public class Fatherint height;protected int money;public int weight;public Father(int m)money=m;protected int getMoney()return money;void setMoney(int newMoney)money=newMoney;/Jerry.javapackage tom.jiafen;import tom.Father;public class Jerry extends Fatherpublic Jerry()super(20);public static void main(String args)Jerry jerry=new Jerry();/jerry.height=12;jerry.weight=200;jerry.money=800;int m=jerry.getMoney();/jerry.setMoney(300);System.out.println(m=+m);分析该程序主方法中注释的部分不能执行的原因。3完成下面父类和子类的定义:(1)定义Student类。属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。方法包括构造方法、get方法、set方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医审工作制度
- 医保处工作制度
- 京访工作制度
- 五坚持工作制度
- 传染区工作制度
- 五同时工作制度
- 剧团工作制度
- 假药室工作制度
- 半年工作制度
- 上班工作制度
- DB31/T 5000-2012住宅装饰装修服务规范
- 钢结构预拼装方案及标准
- 马工程西方经济学(精要本第三版)教案
- 【初中 语文】第15课《青春之光》课件-2024-2025学年统编版语文七年级下册
- GenAI教育在不同场景下的应用案例分析与演进路径
- GB/T 44815-2024激光器和激光相关设备激光束偏振特性测量方法
- 某爱琴海购物中心开业预热推广方案
- 口腔颌面部肿瘤-血管瘤与脉管畸形的诊疗
- 康复质控中心建设思路和工作计划
- GB/T 44457-2024加氢站用储氢压力容器
- 和父亲断绝联系协议书范本
评论
0/150
提交评论