Java语言程序设计实验报告一班级:姓名:学号:一、实验教学目的与基本要求Java程序设计的实验是Java程序设计课程重要的实践教学环节。
实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。
充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。
本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。
本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。
(1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。
(2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。
(3)具有分析、寻找和排除程序中常见问题的能力。
二、实验内容与收获(1)Java的安装与配置。
熟悉语言环境及简单程序设计的使用练习,正确配置Java开发环境(Eclipse 集成开发环境的安装、配置与使用)a)安装JDKSun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。
可以通过IE或Netscape浏览器浏览网址:/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。
正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。
图1-2图1-3b)环境变量的设置设置环境变量的目的是为了能够正常使用所安装的JDK开发包。
通常,我们需要设置两个环境变量:PATH 和CLASSPATH。
PATH:该环境变量指定一个路径列表,用于搜索可执行文件的。
执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找PATH 中的每一个路径,直至找到。
或者找完PATH 中的路径也不能找到,则报错。
Java 的编译命令(javac),执行命令(java) 和一些工具命令(javadoc, jdb 等) 都在其安装路径下的bin 目录中。
CLASSPATH:该环境变量也指定一个路径列表,是用于搜索Java 编译或者运行时需要用到的类。
在CLASSPATH 列表中除了可以包含路径外,还可以包含.jar 文件。
Java 查找类时会把这个.jar 文件当作一个目录来进行查找。
通常,我们需要把JDK 安装路径下的jdk\lib 包含在CLASSPATH 中。
c)设置好之后,测试环境变量是否设置好。
点击开始→运行→输入cmd,打开命令提示符,然后输入测试命令javac和java。
如果出现一大串的字符系列,则表示环境变量设置成功。
配置成功截图:图1.1 显示java的版本信息图d)程序代码:public class Test {public static void main(String args[]){System.out.print("Hello world!");}}运行截图:图1.2 输出hello world图程序代码:public class l {//forpublic static void main(String[] args) {for(int i=1;i<=100;i++){System.out.println(i);}}}public class l {//whilepublic static void main(String[] args) {int i=1;while(i<=100){System.out.println(i);i++;}}}public class l {//do whilepublic static void main(String[] args) {int i=1;do{System.out.println(i);i++;}while(i<=100);}}运行截图:图1.3 打印1到100截图(部分)程序代码:public class l {public static void main(String[] args) {for(int i=1;i<=6;i++){for(int j=0;j<i;j++){System.out.print("*");}System.out.println("");}}}运行截图:图1.4 打印星型符号图e)调试课件编程基础中的例题;f)调试课件中Basic文件夹下的程序心得体会:经过本次上机实验,我掌握了如何搭建JAVA运行环境,并且对JAVA编程的实际操作有了初步的了解和认识。
在将JAVA环境搭建好之后,通过DOS命令窗口输入JAVAC命令可以对.JAVA 文件进行编译,编译后生成.CLASS文件,然后通过输入JAVA命令可以运行程序,查看程序的运行结果。
随后的进行的编程实验是利用IDE环境的MyEclipse进行的,用户界面更加友好,通过一系列基本小程序的实现,我对JAVA编程的理解进一步加深,可以说是收获颇多。
(2)Java面向对象程序设计。
熟悉和掌握Java面向对象的语法,如:Java对象的初始化,Java数组,Java接口等。
a)题目1:调试如下代码,观察对象创建的初始化顺序。
如下代码中的类A、B、C、D、E、F、G具有图中所示的继承关系。
class A{A(){System.out.println(“A”);} }class B{B(){System.out.println(“B”);} }class C{C(){System.out.println(“C”);} }class D{D(){System.out.println(“D”);} }class E extends A{E(){System.out.println(“E”);} }class F extends E{F(){System.out.println(“F”);} }class G extends F{B b=new B();C c=new C(); E e=new E();G(){System.out.println(“G”);}public static void main(String[] args){new G(); }}复习对象创建的初始化顺序:•装入父类•初始化父类的静态成员变量•装入子类•初始化子类的静态成员变量•初始化父类的成员变量•执行父类的构造方法•初始化子类的成员变量•执行子类的构造方法运行截图:图2.1子类继承父类图程序代码:public class l {public static void main(String[] args) {int[][]f=new int[][]{{1,2,3},{4,5},{6}};for(int i=0;i<f.length;i++){for(int j=0;j<f[i].length;j++){System.out.print(f[i][j]);}System.out.println("");}}}运行截图:图2.2 打印数组图程序代码:package L;public class A {int count(int a,int b){return (a+b);}int count(int a,int b,int c){return(a+b+c);}int count(int a,int b,int c,int d){return (a+b+c+d);}public static void main(String[] args){A a;a=new A();System.out.println(a.count(348,578));}}运行截图:图2.3 计算两数和图b)调试课件Object文件夹下的程序。
心得体会:本次实验所编写的三个程序分别涉及了JAVA的继承、数组和重载,通过自己动手编程实现,观察输出结果,进一步了解了在面向对象编程环境下,子类是如何从父类继承属性的。
而重载也是面向对象程序设计中的重要特点,函数可以重载,它们的名字可以相同,只要传递的参数或者函数的类型不同即可,这就使得函数种类更加多样,操作更加灵活。
本次实验进一步提高了我的编程能力,让我进一步了解和熟悉了JAVA语言,收获很多。