天津科技大学10级Java语言程序设计实验指导书Word文件下载.docx
- 文档编号:20469303
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:26
- 大小:26.51KB
天津科技大学10级Java语言程序设计实验指导书Word文件下载.docx
《天津科技大学10级Java语言程序设计实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《天津科技大学10级Java语言程序设计实验指导书Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
现在我们可以运行该程序。
首先把它放到一个名为HelloWorldApp.java的文件中,这里,这文件名应和类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。
然后对它进行编译:
d:
\user>
javacHelloWorldApp.java
编译的结果是生成字节码文件HelloWorldApp.class。
最后用java解释器来运行该字节码文件:
javaHelloWorldApp
结果在屏幕上显示HelloWorld!
6.输入一个Application源程序,学习编辑、编译、运行程序的方法。
7.安装JCREATOR软件,并配置JCREATOR,在JCREATOR中用建立工程的方式重新运行上面的4、5小题。
8.安装Eclipse软件,并配置Eclipse,在Eclipse中用建立工程的方式重新运行上面的4、5小题。
9.编写一个程序,要求输出26个英文字母的大小写字母及26个英文字母的Unicode代码,程序模板如下:
1、基本数据类型和运算符、表达式、语句
//打印英文字母表以及他们的unicode字符集
publicclassc5_1
{
publicstaticvoidmain(String[]args)
{
chari='
a'
;
charj='
z'
intjid;
for(i='
i<
='
i++)
{
//填写代码
}
for//填写代码
jid=(int)i;
}
10.第一章、第二章、第六章例子及课后习题。
三、实验指导与检查
编写此程序要用到数制转换的问题,提醒学生注意;
注意数组的处理与C++的异同;
向指导老师演示程序的运行结果。
四、实验报告
1、实验完成后,检查是否达到试验目的。
2、编写实验报告(打印或手写均可),在下一次上实验课时提交。
类与对象
1、了解编写Applet程序的方法
2、熟练掌握类、对象的的概念以及对事物的抽象。
3、熟练掌握成员、方法的概念以及构造方法的概念。
4、熟练掌握封装性,多态性的概念
5、理解面向对象的程序设计方法。
1.验证一个Applet应用程序KY3_1.java文件。
(1)程序功能:
建立一个Applet小程序,使其可以进行简单的加法运算。
该程序要包含类、接口、属性、方法、事件等面向对象的基本元素。
(2)程序源代码如下。
importjava.awt.*;
importjava.awt.event.*;
importjava.applet.Applet;
publicclassKY3_1extendsAppletimplementsActionListener{
Labellabel1=newLabel("
+"
);
Labellabel2=newLabel("
="
TextFieldfield1=newTextField(6);
TextFieldfield2=newTextField(6);
TextFieldfield3=newTextField(6);
Buttonbutton1=newButton("
相加"
publicvoidinit(){//初始化
add(field1);
add(label1);
add(field2);
add(label2);
add(field3);
add(button1);
button1.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){//处理按钮事件
intx=Integer.parseInt(field1.getText())+Integer.parseInt(field2.getText());
field3.setText(Integer.toString(x));
//数值转换为字符串
(3)编写一个浏览Applet应用程序的页面文件KY3_1.HTML,源代码如。
<
html>
appletcode="
KY3_1.class"
height=200width=400>
/applet>
/html>
(4)将KY3_1.java源程序编译为KY3_1.class文件
(5)使用浏览器或使用小程序查看器浏览KY3_1.HTML文件(即在命令提示符窗口输入:
appletviewerKY3_1.HTML),运行。
2.验证以下Applet程序,并从中理解程序的结构。
类与对象的关系。
对象创建、使用、销毁的过程。
♦程序功能:
这个Applet程序要在页面上输出两个矩形,并伴有文字输出。
♦KY3_2.java程序的源代码如下。
publicclassKY3_2extendsApplet{
MyBoxb1=newMyBox();
//创建对象b1
MyBoxb2=newMyBox(170,20,60,60);
//创建对象b2
publicvoidpaint(Graphicsg){
b1.setPosition(20,20);
b1.setSize(60,60);
b1.draw(g);
g.drawString("
矩形1的X位置:
"
+b1.getX(),20,100);
矩形1的Y位置:
+b1.getY(),20,120);
b2.draw(g);
矩形2的X位置:
+b2.getX(),b2.getX(),b2.getY()+80);
矩形2的Y位置:
+b2.getY(),b2.getX(),b2.getY()+100);
classMyBox{
privateintx,y,width,height;
MyBox(){
x=0;
y=0;
width=0;
height=0;
MyBox(intxPos,intyPos,intw,inth){
x=xPos;
y=yPos;
width=w;
height=h;
publicvoidsetPosition(intxPos,intyPos){
publicvoidsetSize(intw,inth){
publicintgetX(){
returnx;
publicintgetY(){
returny;
publicvoiddraw(Graphicsg){
g.drawRect(x,y,width,height);
编写一个浏览Applet应用程序的页面文件KY3_2.HTML
<
KY3_2.class"
将KY3_2.java源程序编译为KY3_2.class文件
使用浏览器或使用小程序查看器浏览KY3_2.HTML文件(即在命令提示符下输入:
appletviewer
KY3_2.HTML),运行.
3.运行下面的程序,理解面向对象的程序设计方法的基本概念。
classvalue{
publicintx,y;
publicvalue(inta,intb){
x=a;
y=b;
publicclassCh31{
publicstaticvoidmain(Stringargs[]){
inttotal;
valuenum=newvalue(24,65);
total=num.x+num.y;
System.out.println("
add="
+total);
4.验证一个传值调用的程序文件KY3_5.java。
程序首先给整型变量x和y赋一个初值10,然后使用传值调用方式调用方法ff1对x和y做乘方及输出x和y的乘方值,最后再输出x和y的乘方值。
♦程序源代码如下。
classKY3_5{
publicstaticvoidmain(String[]args){
intx=10,y=10;
ff1(x,y);
System.out.println("
x="
+x+"
y="
+y);
staticvoidff1(intpassX,intpassY){
passX=passX*passX;
passY=passY*passY;
passX="
+passX+"
passY="
+passY);
♦编译KY3_5.java
♦分析其运行结果
5.验证一个调用对象方法的程序文件KY3_6.java。
通过调用对象的方法在方法调用后修改了成员变量的值。
♦KY3_6.java程序源代码如下。
classKY3_6{
Powerp=newPower();
p.ff2(10,10);
方法调用后x="
+p.x+"
+p.y);
classPower{
voidff2(intpassX,intpassY){
初始时x="
x=passX*passX;
y=passY*passY;
方法调用中x="
♦编译KY3_6.java
♦
4和5两个实验例子仅仅是为了说明Java编程中参数传递时要注意的问题,在实际编程中是不可取的,因为完全可以采用其它更好的方法来实现参数的传递。
例如,用传递对象的方式。
6.编写一个Java应用程序,该程序有三个类:
Trangle、Lader、和Circle,分别用来刻画三角形、梯形和圆形。
具体要求如下:
[1]Trangle类具有类型为double的三个边以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。
[2]Lader类具有类型为double的上底、下底、高和面积属性,具有返回面积的功能。
[3]Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
部分代码如下:
classLader
doubleabove,bottom,height,area;
Lader(doublea,doubleb,doubleh)
{
……………………….
doublegetarea()
}
classCircle
doubleradius,area,length;
Circle(doubler)
doublegetlength()
voidsetradius(doublesetradius)
doublegetradius()
Circles1=newCircle(3.0);
1.创建一个对象时,成员变量被分配内存空间,这些内存空间称为该对象的实体或变量,而对象中存在着引用,以确保这些变量由该对象操作使用。
2.空对象不能使用,即不能让一个空对象去调用方法产生行为。
假如程序中使用了空对象,程序在运行时会出现异常:
NULLPOINTEREXCEPTION。
由于对象动态的分配实体,所以Java的编译器对空对象不作检查。
因此在编写程序的时候要避免使用空对象。
3.向指导老师演示程序运行结果。
3、评出成绩。
继承与接口
1.掌握继承、上转型对象、接口回调的概念以及使用方法。
2.通过实验掌握子类的继承性,子类对象的创建过程,成员变量的继承与隐藏,方法的继承与重写。
3.掌握上转型对象的使用,掌握接口回调技术。
4.了解怎样定义异常类以及抛出异常。
1.理解继承的含义
新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修改。
新类还可添加新的变量和方法。
这种现象就称为类的继承。
当建立一个新类时,不必写出全部成员变量和成员方法。
只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。
被继承的类称为父类或超类(superclass),这个新类称为子类。
Java提供了一个庞大的类库让开发人员继承和使用。
设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。
你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。
所以,通常要对子类进行扩展,即添加新的属性和方法。
这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。
继承的意义就在于此。
1).创建公共类KY3_7_P
(1)编写程序文件KY3_7_P.java,源代码如下。
publicclassKY3_7_P
protectedStringxm;
//具有保护修饰符的成员变量
protectedintxh;
voidsetdata(Stringm,inth)//设置数据的方法
xm=m;
xh=h;
publicvoidprint()//输出数据的方法
System.out.println(xm+"
"
+xh);
(2)编译KY3_7_P.java,产生类文件KY3_7_P.class。
2).创建继承的类
通过KY3_7_P类产生子类KY3_8,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。
在程序中调用了父类的print方法,同时可以看出子类也具有该方法。
(2)编写KY3_8.java程序,源代码如下。
classKY3_8extendsKY3_7_P
protectedStringxy;
protectedStringxi;
publicstaticvoidmain(Stringargs[])
KY3_7_Pp1=newKY3_7_P();
p1.setdata("
帅零"
12321);
p1.print();
KY3_8s1=newKY3_8();
s1.setdata("
郭丽娜"
12345);
//调用父类的成员方法
s1.xy="
经济管理学院"
//访问本类的成员变量
s1.xi="
信息管理系"
s1.print();
System.out.print(s1.xm+"
+s1.xy+"
+s1.xi);
3)编译并运行程序
注意:
公共类KY3_7_P与KY3_8类要在同一文件夹(路径)内。
2.了解异常处理机制
1)编写使用try…catch语句处理异常的程序文件KY4_4.java,源代码如下。
publicclassKY4_6{
publicstaticvoidmain(String[]arg3){
这是一个异常处理的例子\n"
try{
inti=10;
i/=0;
catch(ArithmeticExceptione){
异常是:
"
+e.getMessage());
finally{
finally语句被执行"
编译并运行程序
注意:
如果在catch语句中声明的异常类是Exception,catch语句也能正确地捕获,这是因为
Exception是ArithmeticException的父类。
如果不能确定会发生哪种情况的异常,那么最好指定catch
的参数为Exception,即说明异常的类型为Exception。
2)包含多个catch子句的KY4_8.java程序,源代码如下。
publicclassKY4_5{
publicstaticvoidmain(String[]args){
inta=args.length;
\na="
+a);
intb=42/a;
intc[]={1};
c[42]=99;
发生了被0除:
+e);
catch(ArrayIndexOutOfBoundsExceptione){
数组下标越界:
3.类的多态性
类的继承发生在多个类之间,而类的多态只发生在同一个类上。
在一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同。
这种现象称为类的多态。
多态使程序简洁,为程序员带来很大便利。
在OOP中,当程序要实现多个相近的功能时,就给相应的方法起一个共同的名字,用不同的参数代表不同的功能。
这样,在使用方法时不论传递什么参数,只要能被程序识别就可以得到确定的结果。
类的多态性体现在方法的重载(overload)上,包括成员方法和构造方法的重载。
1)方法的重载
方法的重载是指对同名方法的不同使用方式。
对不同的数进行排序输出。
在IntSort类中定义3个同名的方法sort,在
♦编写KY3_9.java文件,源代码如下。
importjava.awt.Graphics;
importjava.applet.Applet;
classIntSort{
publicSt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 天津 科技大学 10 Java 语言程序设计 实验 指导书