资源描述
< <Java程序设计及应用 > > 实验大纲
实验一 Java程序的运行环境和HelloWorld.java程序一实验目的
1掌握Java程序的运行环境,熟悉java程序运行时所需的环境变量。
2掌握java语言的二种应用程序(Application和Applet),并熟悉编写和运行java 程序的步骤。
二、实验内容
1检查计算机的环境变量: java_home= c:\jdk path二%path%;c:\jdk\bin Classpath=. ; c:\jdk\lib\dt.jar; c:\jdk\lib\tools.jar;d:\save; 操作步骤:控制面板/系统/“高级”选项卡/环境变量2、编写一个Java Application应用程序,利用JDK软件包中的工具编译并运行,在屏 幕上输出 “Hello World!
步骤:
(1)编辑 HelloWorld.java:
在D:\Save目录中,编辑源文件HelloWorl目java (用记事本或editplus编辑)/**
* The HelioWorld class implements an application that* simply displays "Hello World!" to the standard output.
*/public class HelloWorld {
public static void main(String[] args) {System.out.println(,,Hello World!"); //display the string.
) )(2)在 DOS 命令窗口,编译 HelloWorld.java: d:\save>javac HelloWorld.java 生成字节码文件:HelloWorld.class
(3)运行 HelloWorld.class:
D: \Save> java HelloWorld结果:Hello World!
3、编写一个Java Applet应用程序,使之能在浏览器中显示“ Hello World! ” (1)在自己的工作目录D:\Save编写源程序HelloWorldApplet. java0
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet{public void paint(Graphics g){
g.drawString(" Hello World!'1,50,50); )
)(2)编译 HelloWorldApplet.java
d:\save>javac HelloWorldApplet.java
生成字节码文件:HelloWorldApplet.class(3)编写一个 HTML 文件:HelloWorldApplet.html,将 HelloWorldApplet.class 嵌入其中
<html><headxtitle> hello world applet </titlex/head>
<body><applet code=''HelloWorldApplet.classz,
width=500height=500
codebase=''/></applet>
</body>
</html> (4)用浏览器浏览 HTML 文件:HelloWorldApplet.html
1、*
12
34
56
78
9实验二Java基本语法
实验目的:
1掌握java语言中的基本语法、语句。
2能用java语言编写应用程序。
实验内容:
编制一个九九乘法表的应用程序,要求输出结果如下:
123456789
1
2 4
3 6 9
4 8 12 16
5
10
15
20
25
6
12
18
24
30 36
7
14
21
28
35 42 49
8
16
24
32
40 48 56 64
9
18
27
36
45 54 63 72 81
实验三抽象与封装
一实验目的:
1掌握java语言中面向对象的基本概念:抽象与封装、类、对象、重载。
2能应用面向对象的基本概念和UML来分析问题、解决问题。
二实验内容:
编写一个复数类ComplexNumber,要求能进行复数间的基本数学运算:+,*三种运算,以及返回复数的数学表达式、实数局部、虚数局部等功能。最后给出ComplexNumber 类的UML描述。
说明
1复数的数学表达式为:a+bi (其中a为实数、b为虚数)
2在具体的实现过程中,可以用add表示+, sub表示一,mul表示*
3返回该复数的数学表达式:以a+bi返回结果:a+bi (也要考虑到多种情况)
4返回该复数的实数局部:以a+bi 返回结果:a
5返回该复数的虚数局部:以a+bi返回结果:bi
实验四访问属性
一实验目的:
1理解面向对象程序设计中访问属性的作用:实现封装的目的。
二实验内容:
重写实验四中的复数类ComplexNumber (要求能进行复数间的基本数学运算:+,*三种运算,以及返回复数的数学表达式、实数局部、虚数局部等功能)。
要求对ComplexNumber中所有的属性加上private访问属性,另外提供必要的外部接 口以实现用户访问该类中提供的功能。
说明
1复数的数学表达式为:a+bi (其中a为实数、b为虚数)
2在具体的实现过程中,可以用add表示+, sub表示一,mul表示*
3返回该复数的数学表达式:以a+bi返回结果:a+bi (也要考虑到多种情况)
4返回该复数的实数局部:以a+bi返回结果:a
5返回该复数的虚数局部:以a+bi返回结果:bi
实验五JVM执行程序的过程
一实验目的:
1理解JVM执行程序的过程:加载类、初始化类、初始化实例变量、执行实 例块、执行构造方法等。
二实验内容:
1下述ClassLoaderTest程序是一个比拟典型的Java程序,请编写几个合适的测试程序 来验证JVM执行程序的过程。
class ClassLoaderTest(static {
System.out.printing 执行静态块 static block ");)
public static int age=getAge();public String str=getString();
public ClassLoaderTest(){Sy stem. out. printing 执行 构造方法 ClassLoaderTest()n);
)public static int getAge() {
("执行 getAge(),给类变量 age 赋值)return 1;
)public static String getString(){
System.out.printing 执行 getString。,给实例变量 str 赋值");return "String n;
}Sy stem, out printing 执行实例块 block ");
实验六动态绑定、静态绑定与多态
一实验目的:
1理解和掌握java语言中面向对象的重要概念:动态绑定、静态绑定和多态。
2学会自己编写程序来验证程序设计语言中的基本理论。
二实验内容:
1请根据如下的两个类,编写一个合适的测试类(Test),用来检测动态绑定与静态绑 定,并且在main方法中,标记测试动态绑定或静态绑定功能的语句。
class Parent{public int x=lz y=2;
public void prnXY () { System. out. print In (f, n+x+,,f,+y) ; }
public void prnX() { System.out.printin(nParent: "+ x );} } class Childl extends Parent{public int x=3;
public void prnX(){ System.out.printin(nChildl: "+ x );} }
class Child2 extends Parent{public int x=4;
public void prnX(){ System.out.printin(nChild2: "+ x );} )2针对上述的两个类,编写一个合适的测试类(Test2),用来检测多态,并且写出程序运行 后在控制台上的显示结果。
实验七异常处理与编码、I/O操作一实验目的:
1掌握java语言的编码、输入输出操作及异常处理二实验内容:
1请用java实现一个完成如下目标的程序:
(1)在d:磁盘中创立如下的目录结构和文件:
dsavec ecustl
ecust2ecust1 ecust2:
华东理工大学ecust
ecustl和ecust2文件内容都为字符串“华东理工大学ecust”,其中,ecustl使用的是 unicode编码,ecust2使用的是GBK编码。
(2)用编辑软件(记事本、写字板、editplus等)以不同的编码方式翻开上述ecustl, ecust2文 件,看看是否出现乱码,并且能理解原因。
2请利用选择排序算法实现一个外部排序的程序。选择排序算法如下:
提示:
(1)
(2)
(3)
(4)
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好 序的数列的最后,直到全部待排序的数据元素排完。
以下例如中是选择出最小的数排到已排好序的数列后面。
其实就是把待排序的中最小的数和待排序的第一个数交换位置。
可以参考课件中的外部排序算法。
利用随机数产生10个整数初始数据 第一趟排序后 第二趟排序后 第三趟排序后 第四趟排序后 第五趟排序后 第六趟排序后 第七趟排序后 第八趟排序后 第九趟排序后 第十趟排序后
初始数据 第一趟排序后 第二趟排序后 第三趟排序后 第四趟排序后 第五趟排序后 第六趟排序后 第七趟排序后 第八趟排序后 第九趟排序后 第十趟排序后
[5
0
0
0
0
0
0
0
0
0
0
最后排序结果0
2
2
1
1
1
1
1
1
1
1
1
1
6
6
[6
2
2
2
2
2
2
2
2
2
7
7
7
[7
3
3
3
3
3
3
3
3
8
8
8
8
[ 8
4
4
4
4
4
4
4
9
9
9
9
9
[9
5
5
5
5
5
5
1
1
2
6
6
6
[6
6
6
6
6
6
0
5
5
5
5
7
7
7
7
4
4
4
4
4
8
8
8
8
3]
3]
3]
3\
7]
7]
7]
,7\
,9]
9]
9
9
实验八 图形用户界面(运算器)一实验目的:
1掌握java语言图形用户界面的编写过程二实验内容:
1请用java语言编写一个运算器应用程序。要求实现运算器中常用的功能( +大,、)。
展开阅读全文