JAVA面向对象程序设计实验指导书
图2.3
(四) 使用数组
1.建立使用数组的程序,本程序建立了一个长度为5 的1 维数组,一个长度为12 的2 维数组, 源代码如下。
public class LX2_4 { public static void main(String args[]) { int a[]=new int[5];
int arr1[][]=new int[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(\System.out.println(\System.out.println(\System.out.println(\System.out.println(\
System.out.println(\System.out.println(\System.out.println(\System.out.println(\System.out.println(\System.out.println(\} }
2.编译并运行程序,结果如图2.4 所示。
图2.4
(五) 使用表达式语句与复合语句
1. 建立包含表达式语句程序,源代码如下。 class LX2_5{
public static void main(String[] args) {
- 7 -
JAVA面向对象程序设计实验指导书
int k, i=3, j=4; k=20*8/4+i+j*i;
System.out.println(\表达式(20*8/4+i+j*i)=\} }
2.建立包含复合语句程序,源代码如下。 class LX2_6{
public static void main(String args[]) { int k, i=3, j=4; k=i+j;
System.out.println(\在复合块外的输出 k=\{ float f; f=j+4.5F; i++;
System.out.println(\在复合块内的输出 f=\System.out.println(\在复合块内的输出 k=\
} System.out.println(\在复合块外的输出 i=\3. 编译并运行上述两个源程序,结果如图2.5、2.6所示。
图2.5 图2.6
4. 将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。 思考:指出程序的复合结构以及变量的使用范围。 (六) 使用选择语句 1.使用if...else 语句
(1) 程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。
思考:本程序中有几个选择语句,哪些具有嵌套关系? 2.使用switch 语句
(1)程序功能:在不同温度时显示不同的解释说明。 (七) 使用循环语句 1.for 循环语句练习
(1) 程序功能:按5 度的增量打印出一个从摄氏温度到华氏温度的转换表。 2.while 循环语句练习
(1) 程序功能:运行程序后从键盘输入数字1/2/3 后,可显示抽奖得到的奖品;如果输入其它数字或字符显示“没有奖品给你!”。
3.do?while 循环语句练习
(1) 程序功能:求1+2+?+100 之和,并将求和表达式与所求的和显示出来。 4.多重循环练习
(1)输出九九乘法表的程序。 public class LX2_12 {
public static void main(String args[]) {
int i,j,n=9;
System.out.print(\* |\
for (i=1;i<=n;i++) System.out.print(\\
System.out.print(\
- 8 -
JAVA面向对象程序设计实验指导书 for (i=1;i<=n;i++) System.out.print(\for (i=1;i<=n;i++)
{ System.out.print(\System.out.print(\(2)编译并运行程序,结果如图2.12 所示。
图2.12
四、练习题
1.分析下面的程序,说出下面的程序为什么是死循环? class Sum {
public static void main(String args[]) { int i=1,n=10,s=0; while (i<=n) s = s + i;
System.out.println(\} }
2.分析下面源程序的结构,写出运行结果。
class CircleArea {
final static double PI=3.14159;
public static void main(String args[]) { double r1=8.0, r2=5.0;
System.out.println(\半径为\的圆面积=\System.out.println(\半径为\的圆面积=\}
static double area(double r) { return (PI*r*r); } }
2.编写程序,根据考试成绩的等级打印出百分制分数段。设A 为90 分以上、B为80 分以上、C为70 分以上、D为60 分以上、E为59 分以下。要求在程序中使用开关语句。
3.完整下面的程序,利用break 语句和带标号的break 语句分别退出一重循环和二重循环。 for (i=0; i<10; i++) { int j=i*10 while(j<100) {
if (j==10) break; j=j+5; } }
- 9 -
JAVA面向对象程序设计实验指导书
实验项目3 类和接口的使用
一、实验目的
通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,了解Java中包(package)、接口(interface) 和异常处理(exception) 的作用,掌握包、接口、异常处理的设计方法,掌握OOP 方式进行程序设计的方法,了解类的继承性和多态性的作用。
二、实验要求
1. 编写一个体现面向对象思想的程序。
2. 编写一个创建对象和使用对象的方法的程序。 3. 编写一个显示当前日期和时间的程序。 4. 编写不同成员变量修饰方法的程序。 5. 编写不同成员方法修饰方法的程序。
6. 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。 7. 编写体现类的多态性(成员方法重载、构造方法重载)的程序。 8. 了解Java 系统包的结构。 9. 掌握创建自定义包的方法。
10. 掌握使用系统接口的技术和创建自定义接口的方法。 11. 理解系统异常处理的机制和创建自定义异常的方法。 三、实验内容
(一) 创建Applet 应用小程序
1.创建一个Applet 应用程序LX3_1.java 文件。
(1)程序功能:建立一个Applet 小程序,使其可以进行简单的加法运算。该程序要包含类、接口、属性、方法、事件等面向对象的基本元素。
(2)程序源代码如下。 import java.awt.*;
import java.awt.event.*; import java.applet.Applet;
public class LX3_1 extends Applet implements ActionListener {
Label label1=new Label(\Label label2=new Label(\
TextField field1=new TextField(6); TextField field2=new TextField(6); TextField field3=new TextField(6); Button button1=new Button(\相加\public void init() { // 初始化 add(field1); add(label1); add(field2); add(label2); add(field3); add(button1);
button1.addActionListener(this); }
public void actionPerformed(ActionEvent e) { // 处理按钮事件
int x=Integer.parseInt(field1.getText())+Integer.parseInt(field2.getText()); field3.setText(Integer.toString(x)); // 数值转换为字符串 } }
2.编写一个浏览Applet 应用程序的页面文件LX3_1.HTML,源代码如。
- 10 -
JAVA面向对象程序设计实验指导书
3.将LX3_1.java 源程序编译为LX3_1.class 文件
4.使用浏览器或使用小程序查看器浏览LX3_1.HTML 文件(即在命令提示符窗口输入:appletviewer LX3_1.HTML),运行结果如图3.1 所示。
图3.1
思考:
1.如何创建applet 小程序?需要注意哪些问题? 2.本程序包含面向对象的哪些基本元素?
(二) 创建对象并使用对象 1.编写Applet 程序
(1)程序功能:这个Applet 程序要在页面上输出两个矩形,并伴有文字输出。
图3.2
思考:程序的结构。类与对象的关系。对象创建、使用、销毁的过程。
- 11 -