14数字媒体Java课程实验指导书Word文档格式.docx
《14数字媒体Java课程实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《14数字媒体Java课程实验指导书Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
![14数字媒体Java课程实验指导书Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/7/fcfa840f-f3d6-4045-9146-29334dc83a34/fcfa840f-f3d6-4045-9146-29334dc83a341.gif)
一、实验目的
(1)学习从网络上下载并安装J2SE开发工具。
(2)学习编写简单的JavaApplication程序。
(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。
二、实验任务
从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的JavaApplication程序,编译并运行这个程序。
三、实验内容
1.安装J2SE开发工具
Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java2SDK,可以从上进行下载。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:
\j2sdk1.4.1_03目录下。
教师通过大屏幕演示J2SE的安装过程,以及在Windowsxp/win7等系统下环境变量的设置方法。
2.安装J2SE源代码编辑工具eclipse
教师通过大屏幕演示eclipse的安装过程,以及在Windowsxp/win7操作系统环境下编辑Java原程序的常用命令的用法。
3.编写并编译、运行一个JavaApplication程序。
实验截图:
实验2:
Java语法基础练习
(1)掌握Java基本数据类型的取值范围和类型转换的方法;
(2)掌握Java各种运算符的使用方法;
(3)掌握常见的集中流程控制操作;
(1)输入、运行给定的JavaApplication程序,写出运行结果。
(2)按照要求编写JavaApplication程序。
1.Java基本类型取值范围
public
class
PrimitiveTypeTest
{
public
static
void
main(String[]
args)
//
byte
System.out.println("
基本类型:
byte
二进制位数:
"
+
Byte.SIZE);
包装类:
java.lang.Byte"
);
最小值:
Byte.MIN_VALUE="
Byte.MIN_VALUE);
最大值:
Byte.MAX_VALUE="
Byte.MAX_VALUE);
}
2.输入下面的JavaApplication程序,写出运行结果。
publicclassCharSample{
publicstaticvoidmain(Stringargs[]){
charch1='
\b'
;
charch2='
\t'
charch3='
\n'
charch4='
\r'
charch5='
\"
'
charch6='
\'
charch7='
\\'
淮北"
+ch1+"
师范大学"
+ch2+"
+ch3+"
+ch4+ch3+"
System.out.println(ch5+"
+"
+ch5);
System.out.println(ch6+"
+ch6);
System.out.println(ch7+"
+ch7);
实验3:
Java数组数据操作
一.试验目的
(1)掌握java数组的基本用法
(2)掌握多维数组的用法
二.试验任务
(1)演示一维数组和多维数组的初始化和基本操作
(2)给出程序的演示结果
三,试验内容
publicclassmyArray{
//初始化数组变量
char[]cNum={'
1'
'
2'
3'
4'
5'
6'
7'
8'
9'
0'
};
char[]cStr={'
a'
b'
c'
d'
e'
f'
g'
h'
'
i'
j'
k'
l'
m'
n'
o'
p'
q'
r'
s'
t'
u'
v'
w'
x'
y'
z'
String[]sMail={"
@"
"
."
/**
*<
br>
方法说明:
校验电子邮件
输入参数:
StringsPara被校验的电子邮件字符
返回类型:
boolean如果校验的格式符合电子邮件格式返回true;
否则返回false
*/
publicbooleanisMail(StringsPara){
for(inti=0;
i<
sMail.length;
i++){
if(sPara.indexOf(sMail[i])==-1)
returnfalse;
}
returntrue;
判断是否是数字
StringsPara。
需要判断的字符串
boolean。
如果都是数字类型,返回true;
publicbooleanisNumber(StringsPara){
intiPLength=sPara.length();
iPLength;
charcTemp=sPara.charAt(i);
booleanbTemp=false;
for(intj=0;
j<
cNum.length;
j++){
if(cTemp==cNum[j]){
bTemp=true;
break;
}
if(!
bTemp)returnfalse;
returntrue;
判断是否都是英文字符
要检查的字符
如果都是字符返回true;
反之为false
publicbooleanisString(StringsPara){
cStr.length;
if(cTemp==cStr[j]){
}
publicstaticvoidmain(String[]arges){
myArraymA=newmyArray();
//校验邮件地址
booleanbMail=mA.isMail("
tom@"
System.out.println("
1bMailis"
+bMail);
bMail=mA.isMail("
tom@163com"
2bMailis"
//演示是否是数字
booleanbIsNum=mA.isNumber("
1234"
1:
bIsNum="
+bIsNum);
bIsNum=mA.isNumber("
123r4"
2:
实验4:
Java类与对象
(1)掌握Java类的定义和使用方法,
(2)掌握对象的声明和使用,构造函数的概念和使用,
(3)掌握类及其成员的访问控制符的使用,
(4)掌握包的概念和使用
(1)按要求设计一个类。
(2)按要求编译、运行这个类,并写出运行结果。
1.编写一个Java程序片断,以定义一个表示学生的类Student。
这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。
2.为类Student增加一个方法publicStringtoString(),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。
编写一个JavaApplication程序,创建Student类的对象,并验证新增加的功能。
实验截图(类的设计截图):
实验5:
Java类的高级特性
(1)掌握Java类的继承关系和派生方法掌握多态的概念与使用;
(2)掌握接口的定义和使用;
(1)输入根据给定的JavaApplication程序,写出运行结果。
1.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。
//接口
interfaceplayer
{
intflag=1;
voidplay();
//播放
voidpause();
//暂停
voidstop();
//停止
}
//抽象类
abstractclassplaying
publicvoiddisplay(ObjectoPara)
{
System.out.println(oPara);
abstractvoidwinRun();
//继承了playing抽象类和实现类player接口
publicclassnewPlayextendsplayingimplementsplayer
publicvoidplay()
display("
newPlay.play()"
//这里只是演示,去掉了代码。
publicvoidpause()
newPlay.pause()"
publicvoidstop()
newPlay.stop()"
voidwinRun()
newPlay.winRun()"
publicstaticvoidmain(String[]args)
newPlayp=newnewPlay();
p.play();
p.pause();
p.stop();
p.winRun();
实验结果截图:
试验6:
异常处理
(1)掌握异常处理机制;
(2)掌握异常类的自定义
(1)根据异常处理机制,写出一段异常处理程序;
(2)写出一个自定义异常程序
1,异常处理语句//在异常处理中使用finally语句应用举例。
publicclassYiTest{
publicstaticvoidmain(Stringargs[]){
inta,b,c;
a=9;
b=0;
try{
c=a/b;
System.out.println(a+"
/"
+b+"
="
+c);
}catch(ArithmeticExceptione){
System.out.println("
出现被0除的异常情况"
}catch(Exceptione){
异常类型为"
+e);
}finally{
除数="
+a);
被除数="
+b);
b=3;
2,自定义异常
/*
*原则:
*1.先自定义一个自己的异常类型
*2.设置抛出异常的条件(在什么情况下抛出异常,使用throw抛出)
*3.如果在一个函数体中产生了异常,而在该函数中并没有定义try-catch语句来
*处理它,必须使用throws来把该异常抛到更外一层函数中去。
*/
importjava.io.*;
classYiTest2{
publicstaticvoidmain(String[]args)throwsmyException{
show(3);
show(-1);
}catch(myExceptionf){
System.out.println(f.getMessage());
}catch(ArithmeticExceptione){
//catch语句为系统调用代码,当系统捕获一个异常时自动调用该catch语句,
//系统并且自动把该异常做为一个对象参数传给catch语句。
在这里是参数e
//e的成员函数getMessage作用是获取该异常的详细信息
System.out.println(e.getMessage());
System.out.println("
======运行结束======"
//在show函数中有可能产生一个异常,但该函数中没有设置
//try-catch代码来捕捉异常,这时候必须使用throws关键字
//来把有可能产生的异常抛给上一层函数。
staticvoidshow(intx)throwsmyException{
if(x<
0){
thrownewmyException("
不能传小于0的参数。
/*等价于:
myExceptiontemp=newmyException("
throwtemp;
*/
x="
+x+"
,传输的数据大于0!
//自定义一个异常类型,该异常类型名字叫myException
classmyExceptionextendsException{
publicmyException(Stringmsg){
super(msg);
实验7:
Java多线程
(1)了解线程的概念。
(2)学习简单的多线程编程。
(1)阅读给定的JavaApplication程序,按要求回答问题并写出运行结果。
(2)按要求编写一个JavaApplication程序,并编译、运行这个程序。
1.输入下面的JavaApplication程序,运行该程序,并简要分析程序的运行结果。
classSimpleThreadextendsThread{
publicSimpleThread(Stringstr){
3:
super(str);
//调用其父类的构造方法
4:
}
5:
publicvoidrun(){//重写run方法
6:
for(inti=0;
i<
10;
i++){
7:
System.out.println(i+"
"
+getName());
8:
//打印次数和线程的名字
9:
try{
10:
sleep((int)(Math.random()*1000));
11:
//线程睡眠,把控制权交出去
12:
13:
catch(InterruptedExceptione){}
14:
15:
DONE!
16:
//线程执行结束
17:
18:
publicclassTwoThreadsTest{
publicstaticvoidmain(Stringargs[]){
newSimpleThread("
First"
).start();
//第一个线程的名字为First
Second"
//第二个线程的名字为Second
试验8:
图形用户界面
一,实验目的
(1)掌握图形界面布局形式;
(2)掌握事件处理的方法;
二,实验任务
(1)阅读给定的程序,按要求回答问题并写出运行结果。
三,实验内容
1,页面布局
importjava.awt.*;
publicclassg_01{
Framefrm=newFrame("
BorderLayout"
frm.setLayout(newBorderLayout());
frm.add("
North"
newButton("
North(北)"
));
//把按钮"
)加到容器的North区域
South"
South(南)"
)加到容器的South区域
East"
East(东)"
)加到容器的East区域
West"
West(西)"
)加到容器的West区域
Center"
Center(中心)"
)加到容器的Center区域
frm.setSize(400,200);
frm.setVisible(true);
2,事件处理
//ThreeListener,实现了三个接口
importjava.awt.event.*;
publicclassg_02implementsMouseMotionListener,MouseListener,WindowListener{
privateFramefrm;
privateTextFieldtf;
Li8_07two=newLi8_07();
two.go();
publicvoidgo(){
frm=newFrame("
三个监听器"
frm.add(newLabel("
拖曳鼠标"
),"
tf=newTextField(30);
frm.add(tf,"
//使用缺省的布局管理器
frm.addMouseMotionLi