HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY
JAVA语言程序设计
实验指导书
齐心 翟亚红 编著 翟亚红 审核
计算机实验教学示范中心
2013年9月
目录
目录 ............................................................................................................................................................................. 2 实验一 Java编程环境使用 ..................................................................................................................................... 3
实验目的 ............................................................................................................................................................. 3 实验导读 ............................................................................................................................................................. 3 实验内容 ............................................................................................................................................................. 4 实验总结 ............................................................................................................................................................. 7 实验二 Java类编程练习 ......................................................................................................................................... 8
实验目的 ............................................................................................................................................................. 8 实验导读 ............................................................................................................................................................. 8 实验内容 ........................................................................................................................................................... 10 实验总结 ........................................................................................................................................................... 21 实验三 图形用户界面设计 ................................................................................................................................... 22
实验目的 ........................................................................................................................................................... 22 实验导读 ........................................................................................................................................................... 22 实验内容 ........................................................................................................................................................... 23 实验总结 ........................................................................................................................................................... 30 实验四 Java事件处理 ........................................................................................................................................... 31
实验目的 ........................................................................................................................................................... 31 实验导读 ........................................................................................................................................................... 31 实验内容 ........................................................................................................................................................... 35 实验总结 ........................................................................................................................................................... 42 实验五 多线程程序设计 ....................................................................................................................................... 44
实验目的 ........................................................................................................................................................... 44 实验导读 ........................................................................................................................................................... 44 实验内容 ........................................................................................................................................................... 46 实验总结 ........................................................................................................................................................... 51 实验六 网络编程 ................................................................................................................................................... 52
(一)练习使用InetAddress类。对程序进行分析,写出分析结果。 ...................................................... 52 (二) 阅读下面的程序并补充完整,掌握获取URL信息的一些方法。 ................................................. 52 (三)练习使用Socket和ServerSocket进行套接字编程 ........................................................................... 53 思考:如何实现服务器同时和多个客户机的通信。 ................................................................................... 55 实验七 多媒体技术 ............................................................................................................................................... 56
练习1:利用java.applet.AudioClip实现简易声音播放器 ........................................................................... 56 练习2:使用滚动条改变背景颜色 ................................................................................................................ 58 练习3:创建电闪雷鸣的动画 ........................................................................................................................ 60 参考文献: ............................................................................................................................................................... 63 附录一 Java Code之多态 ...................................................................................................................................... 64 附录二 内部类的用法 ............................................................................................................................................. 67 附录三 和类有关的匿名类 ................................................................................................................................... 68 附录四 和接口有关的匿名类 ............................................................................................................................... 69
实验一 Java编程环境使用
实验目的
1. 掌握Java运行环境的配置
2. 掌握Java程序的编写、编译、运行等过程 3. 熟悉Java语言的基本语法和运行原理
4. 掌握Java的基本数据类型、表达式和程序控制结构 5. 熟悉Eclipse开发环境的基本使用方法
实验导读
1. Java的标准输入和输出流
java.lang.System类提供了三种有用的标准流:标准输入流(System.in)、标准输出流(System.out)和标准出错流(System.err)。通过他们可以实现数据的输入输出操作。
1) 标准输入流(System.in)
通常用于读取用户从键盘输入或用户定义的输入设备的输入。类java.util.Scanner结合System.in实现对指定数据的输入。
2) 标准输出流(System.out)
用于程序的输出,通常用来在屏幕或用户指定的输出设备上显示信息。有两种典型用法:System.out.print(data)实现在当前位置输出数据,System.out.println(data)实现换行输出数据到屏幕或用户定义的输出设备。
3) 标准出错流(System.err)
用于显示出错信息,采用System.err.print(data)或System.err.println(data)将指定的data输出到指定的输出设备,默认设备为屏幕。
2. javax.swing.JOptionPane
对话框式的输入和输出,可以提供较好的界面处理。能通过弹出一个标准对话框,来提示用户。可以通过这个性质来实现具有对话框显示效果的数据输入和输出。例如:
String str=JOptionPane.showInputDialog(\输入您的猜测:\ 3. java.util.Scanner
java.util.Scanner类可将文本转换成原语或字符串。Scanner对象通过next()系列方法将文本标识转换成不同类型的值。通常和标准输入流(System.in)结合,允许用户通过标准输入流读入数据。Scanner类提供的方法:nextByte()、nextshort()、nextLong()、nextDouble()、nextFloat()、nextInt()等。例如: Scanner scanner=new Scanner(System.in);
int i=scanner.netInt(); //从键盘输入一个整数 scanner.close();
4. Java Applet小应用程序
Java Applet必须由浏览器来运行,因此必须编写一个超文本文件(含有applet标记的Web页),通知浏览器来运行这个Java Applet。下面是一个简单的HTML文件,使用记事本编辑如下:
超文本中的标记和用于通知浏览器运行一个Java Applet,code通知浏览器运行哪个
Java Applet。code=的后面是主类的字节码文件,width和height规定了Java Applet的宽度和高度。如果如果HTML文件和字节码文件不在同一目录里,必须在HTML文件中增加选项codebase,来指定小程序中.class文件所在的目录。
实验内容
1. 设置实验环境
1) 安装JDK:下载JDK包以后,按安装向导的提示依次安装。 2) 更新环境变量:
a) 在“我的电脑”单击“属性”菜单项,进入“系统属性”对话框; b) 选择“高级”选项页;单击“环境变量”按钮,弹出“环境变量”对话框;
c) 选择“新建系统变量”,弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME”,
在“变量值”文本框输入JDK的安装路径;
d) 编辑“系统变量”中的”path”变量的值,在“变量值”最后增加JDK安装目录下的bin目
录,例如”%JAVA_HOME%\\bin; ”;
e) 在“系统变量”选项区域中查看CLASSPATH 变量,如果不存在,则新建变量CLASSPATH,
否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加”.;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\\tools.jar;”。
3) 进入命令行控制台,分别输入“java“、“java -version“和“javac“命令,看是否能够出现正确的提示信息(注意:配置完成后需将原来打开的命令提示符窗口关闭并重新打开运行)。
2. 简单应用程序的编写
1) 在D盘上建立javalab文件夹;
2) 打开记事本,在其中输入以下代码;
public class PrintA {
public static void main(String arg[]) { System.out.println(\ @\ System.out.println(\ @ @\ System.out.println(\ @ @ @\ System.out.println(\ @ @ @ @\ } }
3) 将其保存在javalab目录下,并命名为PrintA.java; 4) 打开命令行窗口,输入:
C:\\Documents and Settings\\Administrator>d: D:\\>cd javalab D:\\javalab> 5) 运行:
D:\\javalab>javac PrintA.java
6) 查看是否已经生成class文件;
D:\\javalab>dir/w
[.] [..] PrintA.java PrintA.class 7) 运行程序查看结果是否正确。
D:\\javalab>java PrintA @ @ @ @ @ @ @ @ @ @
8) 修改PrintA.java的文件名为printa,然后重新编译会有什么结果?为什么?
9) 修改PrintA.java文件中的main方法为main1,然后重新编译并运行会有什么结果?为什么?
3. 简单Applet的编写
1) 打开记事本,在其中输入以下代码;
import java.awt.*;
import java.applet.Applet;
public class AppletTest extends Applet { public void init() { setBackground(Color.cyan); }
public void paint(Graphics g) {
g.setColor(Color.blue);
//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.drawString(\这是一个Java Applet 程序\ g.setColor(Color.red);
g.setFont(new Font(\宋体\ //在Java Applet中绘制一行文字:“我改变了字体” g.drawString(\我改变了字体\ } }
2) 将其保存在javalab目录下,并命名为AppletTest.java; 3) 将其编译成.class文件;
4) 打开记事本,在其中输入以下代码:
5) 将其保存在javalab目录下,并命名为AppletTest.html; 6) 在命令行下运行:
D:\\javalab>appletviewer AppletTest.html
7) 还有一种查看方式,就是直接双击AppletTest.html,直接在浏览器中查看结果。 8) 将文件中class前面的public去除后再编译运行,看看会有什么结果,为什么?
9) 如果将class文件放置在D:\\classes目录下,应该怎样修改AppletTest.html文件?如果将其放