《合工大JAVA实验报告》由会员分享,可在线阅读,更多相关《合工大JAVA实验报告(17页珍藏版)》请在金锄头文库上搜索。
1、-Java技术实验报告实验一: 2016 年10 月 11 日学院计算机与信息学院专业班级成绩课程名称Java技术实验工程名称实验一 Java开发环境的安装与配置指导教师教师评语教师签名:年月日一、实验目的1 掌握JDK的安装步骤有条件的话可以在Linu*系统下安装。2 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法(Win98和Win2000/*P下的不同设置方法)。3 熟悉Te*tPad或JCreator编辑环境,编写简单的Application程序,并编译和解释执行。4 记录编译和执行Java程序当中的系统错误信息提示,并给出解决方法。二、实验原理1掌握安装Jdk1
2、.6的过程。2安装JCreator软件,用于编译java程序。3. 在Te*tpad环境下编写一个HelloWorld.java程序,在DOS提示符下编译并执行这个程序。4. 设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。5. 编写一个类A,它位于包a中,保存到A.java中,再编写一个类B,它位于包b中,保存到B.java中。在类B中实例化类A的一个对象。分别编译类A和类B。三、使用硬件、软件环境PC 计算机一台,配置为CPU为1.5G,存为512M,硬盘为40G,安装Windows*P操作系统。另外,使用JCreator,等软件四、实验过程、步骤及原始记录
3、(算法、原程序、测试结果,分析等)1 安装集成环境,安装成功后,配置path,classpath路径,让用户在任何目录下均可用到Java的系统资源。 先配置%JAVA_HOME%环境变量,路径为jdk的目录; 配置path环境变量,路径为%JAVA_HOME%bin; 再配置classpath环境变量,路径为%JAVA_HOME%jrelib;2 在记事本编写helloworld程序,并在DOS命令行下编译运行。 在JCreator中写出如下代码,并保存为HelloWorld.java:public class HelloWorldpublic static void main(String
4、args)System.out.println(HelloWorld!); 在命令行中进入到该文件路径,并输入javac HelloWorld.java完成编译,再输入java HelloWorld完成运行。3 用记事本编写包a包b的程序,并用DOS命令行运行。执行过程:将两个记事本,改名为A.java和B.java,并写出如下程序:Ajava文件的源程序:package a;public class Apublic void say()System.out.println(Succeed!);B.java文件中的源程序:package b;import a.*;public class Bp
5、ublic static void main(String args)A aa=new A();aa.maker();先在DOS命令行中编译A.java文件,在命令行中输入javac A.java d .再编译B.java文件,在命令行中输入javac B.java -d .在命令行中输入java b.B 即可完成。五、实验结论、分析、思考题与心得体会通过本次实验,我有以下几方面的收获、认识和体会:1、 学会了在记事本和命令行,JCreator,等环境下编写程序及运行程序的方法;2、 学会了如何安装JDK,以及如何配置%JAVA_HOME%,path,classpath等环境变量3、 加深了J
6、ava中相关语法的认识: 文件名必须与public类的类名一样,并且一个文件中只允许有一个public类。 Java对大小写敏感,如String 中的S就严格区分大小写;对中文标点符号和英文标点符号敏感,java只能识别英文标点符号。 在用记事本编写包a包b的程序,并用DOS命令行运行时。要将两个类分别放在两个文件中,要先编译A.java再编译B.java,在编译时一定要在命令行中输入javac A.java d .和javac B.java d . 才能自动打包;两个文件都编译完成以后,在命令行的父目录中输入java b.B 来执行,输入java b.B.java 。3、思考题1.什么是JV
7、M,它的作用是什么?JVM就是java虚拟机的英文简写,java虚拟机就是为任何的平台提供一个编译java程序的接口。就是将编译的java程序翻译,以供不同的平台去识别。2.如何理解PATH和CLASSPATH,,如何设置它们。PATH和CLASSPATH分别是Java JDK和JRE的路径。设置是在计算机属性中的高级系统设置的环境变量,配置方法如下: 先配置%JAVA_HOME%环境变量,路径为jdk的目录; 配置path环境变量,路径为%JAVA_HOME%bin; 再配置classpath环境变量,路径为%JAVA_HOME%jrelib;Java技术实验报告实验二: 2016 年10
8、月 11 日学院计算机与信息学院专业班级成绩课程名称Java技术实验工程名称实验二类的封装、继承、多态指导教师教师评语教师签名:年月日一、实验目的1. 复习、理解OOP的三大特征封装、继承和多态。2. 学会使用Java编写简单的类。理解类的属性和方法。3. 掌握关键字private,protected,public的作用,掌握静态类,部类的概念。4. 掌握多态的概念。二、实验原理分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足以下要求:1 Point2D有两个整型成员变量*, y (分别为二维空间的*,Y方向坐标),Point2D的构造方法要实现对其成员变量*
9、, y的初始化。2 Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。3 Point3D是Point2D的直接子类,它有有三个整型成员变量*,y,z (分别为三维空间的*,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int *,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量*, y,z的初始化。4 Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。5在Point3D中的
10、主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point3D的对象p3d1,p3d2,打印出他们之间的距离。提示:java.lang.Math.sqrt()方法三、使用硬件、软件环境PC 计算机一台,配置为CPU为1.5G,存为512M,硬盘为40G,安装Windows*P操作系统。另外,使用JCreator,等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)利用类的继承写一个point2D类,其子类是point3D。子类Point3D的构造函数调用了父类的构造函数;计算平面两点的距离函数和计算空间两点的距离函数写在父
11、类Point2D中,并且他们是静态方法,在子类继承后,在其主方法主方法是静态的中可以直接调用或者通过类名调用;另外平移函数可以对点进展平移。源程序如下:class Point2D int *,y; public Point2D(int *,int y) /有参构造函数,对*,y初始化this.*=*;this.y=y; void offset(int a,int b) /平移函数 *=*+a; y=y+b; public static double distance2D(Point2D a,Point2D b )return Math.sqrt(Math.pow(a.*-b.*),2)+Mat
12、h.pow(a.y-b.y),2); /静态方法,求平面两点的距离public static double distance3D(Point3D a,Point3D b )return Math.sqrt(Math.pow(a.*-b.*),2)+Math.pow(a.y-b.y),2)+Math.pow(a.z-b.z),2);/静态方法,求空间两点的距离public class Point3D e*tends Point2Dint z;Point3D(int *,int y,int z)/构造函数,对*,y,z初始化 super(*,y);this.z=z;Point3D(Point2D
13、p,int z)/构造函数,对*,y,z初始化 super(p.*,p.y);this.z=z;void offset(int a,int b,int c)/平移函数 *+=a;y+=b;z+=c;public static void main(String args)Point2D p2d1=new Point2D(10,3);Point2D p2d2=new Point2D(2,2);Point3D p3d1=new Point3D(10,11,0);Point3D p3d2=new Point3D(1,6,0);Point3D p3d3=new Point3D(p2d1,16);Syst
14、em.out.println(distance2D=+distance2D(p2d1,p2d2);System.out.println(distance3D=+distance3D(p3d1,p3d2);运行结果:五、实验结论、分析、思考题与心得体会通过本次实验,我有以下几方面的收获、认识和体会:1、学会了类的继承、封装、多态的根本应用,学会了两个方法aqrt()和pow()在程序中的运用。2、加深了Java中相关语法的认识:子类继承父类的非私有成员,但是不能继承构造方法,必须用super来调用父类的构造方法。构造方法可以通过形参的个数、类型、排列不同来重载。Math类属于java.lang包,并且pow和sqrt都是static静态方法,可以直接通过Math.po