收藏 分享(赏)

广工《Java语言程序设计基础教程》上机实验指导手册(第一次).doc

上传人:dzzj200808 文档编号:2635252 上传时间:2018-09-24 格式:DOC 页数:16 大小:121.50KB
下载 相关 举报
广工《Java语言程序设计基础教程》上机实验指导手册(第一次).doc_第1页
第1页 / 共16页
广工《Java语言程序设计基础教程》上机实验指导手册(第一次).doc_第2页
第2页 / 共16页
广工《Java语言程序设计基础教程》上机实验指导手册(第一次).doc_第3页
第3页 / 共16页
广工《Java语言程序设计基础教程》上机实验指导手册(第一次).doc_第4页
第4页 / 共16页
广工《Java语言程序设计基础教程》上机实验指导手册(第一次).doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、1Java 语言程序设计基础教程上机实验指导手册实验一 Java环境演练【目的】 安装并配置Java运行开发环境;掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet程序;学习同时编译多个Java源文件。【内容】1一个简单的应用程序 实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。 程序运行效果示例:程序运行效果如下图所示: 程序模板:Hello.javapublic class Hel

2、lo public static void main (String args ) 【代码 1】 /命令行窗口输出“你好,很高兴学习 Java“A a=new A();a.fA();class Avoid fA()【代码 2】 /命令行窗口输出“We are students“ 实验后的练习:1编译器怎样提示丢失大括号的错误?2编译器怎样提示语句丢失分号的错误?3编译器怎样提示将System写成system这一错误?24编译器怎样提示将String写成string这一错误?2一个简单的Java Applet程序 实验要求:编写一个简单的Java Applet程序,并在Java Applet中写

3、两行文字:“这是一个Java Applet程序”和“我改变了字体”。 程序运行效果示例:程序运行效果如下图所示: 程序模板:FirstApplet.javaimport java.applet.*; import java.awt.*;public class FirstApplet extends Applet public void paint(Graphics g)g.setColor(Color.blue); 【代码 1】/在 Java Applet 中绘制一行文字:“这是一个 Java Applet 程序”g.setColor(Color.red);g.setFont(new Fon

4、t(“宋体“,Font.BOLD,36);【代码 2】/在 Java Applet 中绘制一行文字:“我改变了字体” 实验后的练习:5程序中的主类如果不用public修饰,编译能通过吗?6程序中的主类如果不用public修饰,程序能正确运行吗?7程序将paint方法误写成Paint,编译能通过么?8程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?3联合编译 实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。将4个源文件保存到同一目录中,例

5、如:C:100,然后编译Hello.java。 程序运行效果示例:程序运行效果如下图所示: 程序模板:模板 1:Hello.javapublic class MainClass public static void main (String args ) 3【代码 1】 /命令行窗口输出“你好,只需编译我“A a=new A();a.fA();B b=new B();b.fB();模板 2 :A.javapublic class Avoid fA()【代码 2】 /命令行窗口输出“I am A“模板 3 :B.javapublic class Bvoid fB()【代码 3】 /命令行窗口输出

6、“I am B“模板 4 :C.javapublic class Cvoid fC()【代码 4】 /命令行窗口输出“I am C“ 实验后的练习:9将Hello.java编译通过后,不断修改A.java源文件中的代码,比如,在命令行窗口输出“我是A类”或“我被修改了”。要求每次修改A.java源文件后,单独编译A.java,然后直接运行应用程序Hello。10 如果需要编译某个目录下的全部Java源文件,比如C:1000目录,可以使用如下命令:c:1000javac *.java【结果】将本次上机实验结果按照以上内容依次填写实验目标、过程、结果。【注意事项】4实验报告要求每人提交一份,使用专

7、门的报告纸,内容写全,包括实验名称、班级、姓名、同组人,试验日期、交报告日期等。报告不需要填写源代码,只要将完成情况和所有练习题结果写上就可以。【思考题】实验二 Java基本数据类型与控制语句【目的】 掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;掌握使用ifelse if多分支语句;使用ifelse分支和while循环语句解决问题。【内容】1输出希腊字母表。 实验要求:编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。 程序运行效果示例:程序运行效果如下图所示: 程序模板:GreekAlphabet.javapublic class GreekAlp

8、habet public static void main (String args ) int startPosition=0,endPosition=0;char cStart=,cEnd=;【代码 1】 /cStart 做 int 型转换据运算,并将结果赋值给 startPosition【代码 2】 /cEnd 做 int 型转换运算,并将结果赋值给 endPosition System.out.println(“希腊字母 在 unicode 表中的顺序位置 :“+(int)c);System.out.println(“希腊字母表:“);for(int i=startPosition;i

9、realNumber”替换【代码1】 ,可以么?2. 语句:“System.out.println(“猜对了!”);”为何要放在while循环语句之后?放在while语句的循环体中合理吗?【结果】将本次上机实验结果按照实验要求内容依次进行,填写实验目标、过程、结果。 【注意事项】实验报告要求每人提交一份,使用专门的报告纸,内容写全,包括实验名称、班级、姓名、同组人,试验日期、交报告日期等。报告不需要填写源代码,只要将完成情况和所有练习题结果写上就可以。实验三 类与对象、继承【目的】 使用类来封装对象的属性和功能;掌握类变量与实例变量,以及类方法与实例方法的区别;掌握使用package和impo

10、rt语句。巩固以下概念:子类的继承性子类对象的创建过程成员变量的继承与隐藏方法的继承与重写【内容】1三角形、梯形和圆形的类封装 实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。c)

11、Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。 程序运行效果示例:程序运行效果如下图所示:9 程序模板:AreaAndLength.javaclass Trangle double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c) 【代码 1】 /参数 a,b,c 分别赋值给 sideA,sideB,sideCif(【 代码 2】) /a,b,c 构成三角形的条件表达式 【代码 3】 /给 boo 赋值。 else 【代码 4】 /给

12、boo 赋值。double getLength() 【代码 5】 /方法体,要求计算出 length 的值并返回 public double getArea() if(boo) double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC) ;return area;else System.out.println(“不是一个三角形,不能计算面积“);return 0; public void setABC(double a,double b,double c) 【代码 6】 /参数 a,b,c 分别

13、赋值给 sideA,sideB,sideCif(【 代码 7】) /a,b,c 构成三角形的条件表达式 【代码 8】 /给 boo 赋值。 else10 【代码 9】 /给 boo 赋值。class Lader double above,bottom,height,area; Lader(double a,double b,double h)【代码 10】 /方法体,将参数 a,b,c 分别赋值给 above,bottom,heightdouble getArea()【代码 11】 /方法体,,要求计算出 area 返回class Circle double radius,area;Circl

14、e(double r) 【代码 12】 /方法体double getArea() 【代码 13】 /方法体,要求计算出 area 返回double getLength() 【代码 14】 /getArea 方法体的代码,要求计算出 length 返回void setRadius(double newRadius) radius=newRadius;double getRadius() return radius;public class AreaAndLength 11public static void main(String args) double length,area;Circle

15、circle=null;Trangle trangle;Lader lader;【代码 15】 /创建对象 circle【代码 16】 /创建对象 trangle。【代码 17】 /创建对象 lader【代码 18】 / circle 调用方法返回周长并赋值给 lengthSystem.out.println(“圆的周长:“+length); 【代码 19】 / circle 调用方法返回面积并赋值给 areaSystem.out.println(“圆的面积:“+area); 【代码 20】 / trangle 调用方法返回周长并赋值给 lengthSystem.out.println(“三角

16、形的周长:“+length); 【代码 21】 / trangle 调用方法返回面积并赋值给 areaSystem.out.println(“三角形的面积:“+area); 【代码 22】 / lader 调用方法返回面积并赋值给 areaSystem.out.println(“梯形的面积:“+area); 【代码 23】 / trangle 调用方法设置三个边,要求将三个边修改为 12,34,1。【代码 24】 / trangle 调用方法返回面积并赋值给 areaSystem.out.println(“三角形的面积:“+area); 【代码 25】 / trangle 调用方法返回周长并赋

17、值给 lengthSystem.out.println(“三角形的周长:“+length); 实验后的练习:1. 程序中仅仅省略【代码15】 ,编译能通过吗?2. 程序中仅仅省略【代码16】 ,编译能通过吗?3. 程序中仅仅省略【代码15】 ,运行时出现怎样的异常提示? 4 给Trangle类增加3个方法,分别用来返回3个边:sideA、sideB和sideC。5 让AreaAndLength类中的circle对象调用方法修改半径,然后输出修改后的半径以及修改半径后的圆的面积和周长。2实例成员与类成员。 实验要求:按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。

18、程序运行效果示例:程序运行效果如下图所示: 程序模板:Example.javaclass A 12【代码 1】 /声明一个 float 型实例变量 a【代码 2】 /声明一个 float 型类变量 b,即 static 变量 bvoid setA(float a) 【代码 3】 /将参数 a 的值赋值给成员变量 avoid setB(float b) 【代码 4】 /将参数 b 的值赋值给成员变量 bfloat getA() return a;float getB() return b;void inputA()System.out.println(a);static void inputB(

19、)System.out.println(b);public class Example public static void main(String args) 【代码 5】 /通过类名操作类变量 b,并赋值 100【代码 6】 /通过类名调用方法 inputB()A cat=new A();A dog=new A();【代码 7】 /cat 象调用方法 setA(int a)将 cat 的成员 a 的值设置为 200【代码 8】 /cat 调用方法 setB(int b)将 cat 的成员 b 的值设置为 400【代码 9】 /dog 象调用方法 setA(int a)将 dog 的成员 a

20、 的值设置为 150【代码 10】 /dog 调用方法 setB(int b)将 dog 的成员 b 的值设置为 300【代码 11】 /cat 调用 inputA()。 【代码 12】 /cat 调用 inputB()。 【代码 13】 /dog 调用 inputA()。 【代码 14】 /dog 调用 inputB()。 13 实验后的练习:1. 将inputA()方法中的System.out.println(a);改写为System.out.println(a+b);编译是否出错?为什么?2. 将inputB()方法中的System.out.println(b);改写为System.ou

21、t.println(a+b);编译是否报错?为什么? 3使用package语句与import语句。 实验要求:按实验要求使用package语句,并用import语句使用Java平台提供的包中的类以及自定义包中的类。掌握一些重要的操作步骤。 程序运行效果示例:程序运行效果如下图所示: 程序模板:模板 1:将模板 1 给出的 Java 源文件命名为 SquareEquation.java,将编译后得到的字节码文件复制到 c:1000tomjiafei 目录中。SquareEquation.javapackage tom.jiafei;public class SquareEquation doub

22、le a,b,c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c) this.a=a;this.b=b;this.c=c;if(a!=0) boo=true; else boo=false;14public void getRoots() if(boo) System.out.println(“是一元 2 次方程“);double disk=b*b-4*a*c;if(disk=0)root1=(-b+Math.sqrt(disk)/(2*a);root2=(-b-Math.sqrt(

23、disk)/(2*a);System.out.printf(“方程的根:%f,%fn“,root1,root2); elseSystem.out.printf(“方程没有实根n“);elseSystem.out.println(“不是一元 2 次方程“); public void setCoefficient(double a,double b,double c)this.a=a;this.b=b;this.c=c;if(a!=0)boo=true; else boo=false;模板 2:将模板 2 给出的 Java 源程序 SunRise.java 保存到 d:2000 中。在编译模板 2

24、 给出的 Java 源文件之前,要重新设置 classpath。假设本地机 SDK 的安装目录是 E:jdk1.5。在命令行执行如下命令:15set classpath=e:jdk1.5jrelibrt.jar;.;c:1000然后编译模板 2 给出的 Java 源程序。或用鼠标右键点击 “我的电脑” ,弹出快捷菜单,然后选择“属性”命令,弹出“系统属性”对话框,再单击该对话框中的“高级”选项卡,然后单击“环境变量”按钮。将 classpath 的值修改为:E:jdk1.5jrelibrt.jar;.;c:1000然后重新打开一个命令行窗口,编译模板 2 给出的 Java 源程序。SunRis

25、e.javaimport tom.jiafei.*;class SunRise public static void main(String args ) SquareEquation equation=new SquareEquation(4,5,1);equation.getRoots();equation.setCoefficient(-3,4,5);equation.getRoots(); 实验后的练习:假设SDK的安装目录是E:jdk1.5,那么Java运行系统默认classpath的值是:E:jdk1.5jrelibrt.jar;.;其中的“”表示应用程序可以使用当前目录中的无名包

26、类以及当前目录下的子目录中的类,子目录中的类必须有包名,而且包名要和子目录结构相对应。因此,如果将模板2应用程序Sunrise.java的字节码文件存放到d:5000中,并将SquareEquation.java的字节码文件存放在D:5000tomjiafei中,那么就不需要修改classpath。要特别注意的是,因为SquareEquation.java有包名,切不可将SquareEquation.java以及它的字节码文件存放在d:5000中,即不可以和Sunrise.java的字节码存放在一起,请进行如下的练习:1. 将SquareEquation.java存放在D:5000tomjiafei中,编译:D:5000tomjiafeijavac SquareEquation.java2. 将Sunrise.java存放到D:5000中,编译:D:5000javac Sunrise.java3. 运行:java Sunrise【结果】将本次上机实验结果按照实验要求内容依次进行,填写实验目标、过程、结果。 【注意事项】实验报告要求每人提交一份,使用专门的报告纸,内容写全,包括实验名称、班级、姓名、同组人,试验日期、交报告日期等。报告不需要填写源代码,只要将完成情况和所有练习题结果写上就可以。16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报