JAVA实验报告1.docx

上传人:b****6 文档编号:15382354 上传时间:2023-07-04 格式:DOCX 页数:13 大小:67.27KB
下载 相关 举报
JAVA实验报告1.docx_第1页
第1页 / 共13页
JAVA实验报告1.docx_第2页
第2页 / 共13页
JAVA实验报告1.docx_第3页
第3页 / 共13页
JAVA实验报告1.docx_第4页
第4页 / 共13页
JAVA实验报告1.docx_第5页
第5页 / 共13页
JAVA实验报告1.docx_第6页
第6页 / 共13页
JAVA实验报告1.docx_第7页
第7页 / 共13页
JAVA实验报告1.docx_第8页
第8页 / 共13页
JAVA实验报告1.docx_第9页
第9页 / 共13页
JAVA实验报告1.docx_第10页
第10页 / 共13页
JAVA实验报告1.docx_第11页
第11页 / 共13页
JAVA实验报告1.docx_第12页
第12页 / 共13页
JAVA实验报告1.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA实验报告1.docx

《JAVA实验报告1.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告1.docx(13页珍藏版)》请在冰点文库上搜索。

JAVA实验报告1.docx

JAVA实验报告1

实验一Java编程环境

一、实验目的:

了解Java的配置环境,掌握JavaApplication的程序结构和开发过程,了解JavaApplet的功能与程序结构,掌握Java程序的调试、运行过程。

二、实验内容:

1、Java环境的配置训练。

2、编写一个Application程序,显示“WelcometoJavaProgramming”

三、主要代码及运行结果:

1、JDK开发环境配置

(1)J2SDK1.6.0开发环境安装在“C:

\ProgramFiles\Java\jdk1.6.0”目录下。

(2)设置环境变量PATH和CLASSPATH:

进入命令行(MS-DOS)方式,进行如下设置:

SETPATH=C:

\ProgramFiles\Java\jdk1.6.0\bin;%PATH%

SETCLASSPATH=.;%CLASSPATH%

在WindowsXP下设置:

右键点击[我的电脑],选择[属性],选择[高级]选项卡,单击[环境变量]按钮,在[系统变量]找到path变量,单击[编辑]按钮,把C:

\ProgramFiles\Java\jdk1.6.0添加到里面,与已有的内容用分号隔开。

在[系统变量]中单击[新建]按钮,在[变量名]文本框中输入名称CLASSPATH,在[变量值]文本框中输入.;C:

\ProgramFiles\Java\jdk1.6.0\lib\tools.jar;C:

\ProgramFiles\Java\jdk1.6.0\jre\lib\rt.jar;

2、编写一个Application程序,显示“WelcometoJavaProgramming”

(1)打开编辑器。

(2)键入如下程序:

importjava.io.*;

publicclassHelloWorld{

publicstaticvoidmain(Stringarg[]){

System.out.println("WelcometoJavaProgramming");

      }

}

(3)保存文件。

(4)进入命令行(MS-DOS)方式,设定当前目录为“D:

\Java\”,运行Java编译器:

D:

\Java>javacHelloWorld.java

(5)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。

如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。

(6)利用Java解释器运行这个JavaApplication程序,并查看运行结果。

D:

\Java>javaHelloWorld

输出结果为:

WelcometoJavaProgramming

四、思考题

(1)java编译器和解释器分别是什么?

java编译器是javac.exe,java解释器是java.exe。

(2)JavaApplication源程序保存时有什么需要注意问题,为什么?

JavaApplication源程序保存时文件名称需要和主类名一致,如果没有主类,则可以采用符合java命名规范的任意类名,但是,在执行时,必须执行相应类名字。

因为java虚拟机自动从主类的main()方法开始执行java程序,没有主类的java类,需要测试类执行该类。

实验二Java语言基础

一、实验目的:

掌握Java基本语言基础:

基本数据类型、操作符、流程控制语句。

二、实验内容:

2、编程掌握一般算术运算的实现。

5、编程实现Fibonacci数列;

其中:

Fibonacci数列的定义为:

F1=1,F2=1,…,Fn=Fn-1+Fn-2      (n>=3)

三、主要代码及运行结果:

1、运行下面的程序,掌握算术运算。

importjava.io.*;

publicclassArithmaticOp{

publicstaticvoidmain(Stringargs[]){

inta=5+4;//a=9

intb=a*2;//b=18

intc=b/4;//c=4

intd=b-c;//d=14

inte=-d;//e=-14

intf=e%4;//f=-2

doubleg=18.4;

doubleh=g%4;//h=2.4

inti=3;

intj=i++;//i=4,j=3

intk=++i;//i=5,k=5

System.out.println("a="+a);

System.out.println("b="+b);

System.out.println("c="+c);

System.out.println("d="+d);

System.out.println("e="+e);

System.out.println("f="+f);

System.out.println("g="+g);

System.out.println("h="+h);

System.out.println("i="+i);

System.out.println("j="+j);

System.out.println("k="+k);

}

}

intj=i++执行过程是:

先是j=i,然后i=i+1;intk=++i执行过程是:

先i=i+1,然后k=i。

2、编程实现Fibonacci数列;

其中:

Fibonacci数列的定义为:

F1=1,F2=1,…,Fn=Fn-1+Fn-2      (n>=3)

源码如下:

publicclassFibn{

publicstaticvoidmain(Stringargs[]){

inti;

intf[]=newint[10];

f[0]=f[1]=1;

for(i=2;i<10;i++)

f[i]=f[i-1]+f[i-2];

for(i=1;i<=10;i++)

System.out.println("F["+i+"]="+f[i-1]);

}

}

实验结果:

 

四、思考题

(1)Java运算符的优先级与结合性是怎样的?

优先级

运算符

结合性

1

()

括号运算符

由左至右

1

[]

方括号运算符

由左至右

2

!

、+(正号)、-(负号)

一元运算符

由右至左

2

~

位逻辑运算符

由右至左

2

++、--

递增与递减运算符

由右至左

3

*、/、%

算术运算符

由左至右

4

+、-

算术运算符

由左至右

5

<<、>>

位左移、右移运算符

由左至右

6

>、>=、<、<=

关系运算符

由左至右

7

==、!

=

关系运算符

由左至右

8

&(位运算符AND)

位逻辑运算符

由左至右

9

^(位运算符号XOR)

位逻辑运算符

由左至右

10

|(位运算符号OR)

位逻辑运算符

由左至右

11

&&

逻辑运算符

由左至右

12

||

逻辑运算符

由左至右

13

?

:

三目运算符

由左至右

14

=

赋值运算符

由右至左

(2)for、while和do-while循环的区别?

如果明确的知道循环次数,可以使用for循环语句。

当事先不知道循环执行次数的时,就要用到while循环。

do…while循环也是用于未知循环执行次数的时候,使用do…while循环时,至少都会执行一次循环主体。

实验三方法和数组

一、实验目的:

1、通过实验掌握数组的使用,为以后的Java程序编程打下基础。

2、掌握Java实例方法的定义和调用。

二、实验内容:

1.编写一个Student类,包含学号、姓名、成绩、年龄等成员变量,以及设置变量和提取变量的方法。

通过测试类TestStudent进行测试。

三、主要代码及运行结果:

1、编写一个Student类,包含学号、姓名、成绩、年龄等成员变量,以及设置变量和提取变量的方法。

通过测试类TestStudent进行测试。

classStudent{

privateStringno;

privateStringname;

privateintage;

privatedoublescore;

publicvoidsetNo(Stringno){

this.no=no;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicvoidsetAge(intage){

this.age=age;

}

publicvoidsetScore(doublescore){

this.score=score;

}

publicStringgetNo(){

returnno;

}

publicStringgetName(){

returnname;

}

publicintgetAge(){

returnage;

}

publicdoublegetScore(){

returnscore;

}

}

publicclassTestStudent{

publicstaticvoidmain(String[]args){

Students1=newStudent();

s1.setNo("20130001");

s1.setName("Tom");

s1.setAge(21);

s1.setScore(97);

System.out.println("该生信息为:

"+s1.getNo()+""+s1.getName()+""+s1.getAge()+""+s1.getScore());

}

}

四、思考题

(1)二维数组中的length表示什么?

“数组名称.length”,一维数组中表示数组元素的个数,二维数组中表示该数组含有的一维数组的个数。

(2)数组初始化有几种方式,各种数据类型的默认初始化值是什么?

数组的初始化分为动态初始化和静态初始化两种。

实验四类和对象

一、实验目的:

掌握java类设计的基本方法,掌握继承实现类的复用,熟悉变量的隐藏和方法的覆盖。

二、实验内容:

1、定义图形类shape,包含设置图形类别、获取图形类别、显示类别信息和获取图形面积等方法。

定义图形类子类Circle,包含设置半径、获取半径、计算面积和周长等方法。

并用测试类测试。

三、主要代码及运行结果:

1、publicclassShape{

Stringtype;//图形类别

publicvoidsetType(Stringtype){

this.type=type;

}

publicStringgetType(){

returntype;

}

//显示类别信息

publicvoidshowInfo(){

System.out.println(type);

}

publicvoidgetArea(){

//形状的类别未确定,无法计算面积,方法体为空

}

}

publicclassCircleextendsShape{

doubleradius;//圆的半径

publicvoidsetRadius(doubleradius){

this.radius=radius;

}

publicdoublegetRadius(){

returnradius;

}

publicvoidgetArea(){

showInfo();//直接调用父类的方法

System.out.println("其面积为:

"+Math.PI*radius*radius);

}

publicdoublegetPerimeter(){

return2*Math.PI*radius;

}

}

publicclassTestCircle{

publicstaticvoidmain(String[]args){

CirclemyCircle=newCircle();

myCircle.setRadius(2.1);//Circle自己新定义的方法

myCircle.setType("这是一个圆!

");//调用继承的父类方法

myCircle.getArea();//调用Circle重写的父类的方法

doubleperimeter=myCircle.getPerimeter();

System.out.println("其周长为:

"+perimeter);

}

}

四、思考题

(1)一个方法或一个块内定义的变量是否可以在方法外或块外使用?

这种变量称为什么?

方法的形式参数是否可以在方法之外使用?

一个方法或一个块内定义的变量不可以在方法外或块外使用,这种变量为局部变量。

方法的形式参数只能在该方法的花括号,不能再方法之外使用。

(2)为什么说构造函数是一种特殊的方法?

特殊在哪里?

构造函数什么时候执行?

被谁调用?

在java语言中,构造函数又称构造方法。

特殊性在于,与普通方法的区别是,他与类名相同,不返回结果也不加void返回值。

构造函数的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造函数)。

构造函数还能够被重载,即可以传入参数,当程序中包含有带参的构造函数时,系统将不会再提供的无参构造函数。

实验五深入类设计

一、实验目的:

通过实验验证类的高级特性的相关语法,掌握类的静态域、静态方法,包,掌握接口的定义和实现方法。

二、实验内容:

1、类StaticDemo存放在文件StaticDemo.java中,仔细阅读程序,观察程序的运行结果,理解static方法和变量的使用方法。

三、主要代码及运行结果:

1、类StaticDemo

//StaticDemo.java文件

publicclassStaticDemo{

privatestaticintx;//静态变量

privateinty;

publicstaticintgetX(){

returnx;}

publicstaticvoidsetX(intnewX){

x=newX;}

publicintgetY(){

returny;}

publicvoidsetY(intnewY){

y=newY;}

publicstaticvoidmain(String[]args){

System.out.println("静态变量x="+StaticDemo.getX());

StaticDemoa=newStaticDemo();

StaticDemob=newStaticDemo();

a.setX

(1);

System.out.println("a.setX

(1)后,a和b对x的取值是:

");

System.out.println("静态变量a.x="+a.getX());

System.out.println("静态变量b.x="+b.getX());

b.setX(3);

System.out.println("b.setX(3)后,a和b对x的取值是:

");

System.out.println("静态变量a.x="+a.getX());

System.out.println("静态变量b.x="+b.getX());

a.setY

(2);//访问实例方法

b.setY(4);

System.out.println("a,b的最后的值为”);

System.out.println("静态变量a.x="+a.getX());

System.out.println("实例变量a.y="+a.getY());

System.out.println("静态变量b.x="+b.getX());

System.out.println("实例变量b.y="+b.getY());

}

}

四、思考题

1、如何定义一个静态的方法和静态的常量,我们使用的关键字是什么?

与实例常量和方法的定义有何区别?

定义一个静态方法和静态的变量用static关键字,静态方法不需要实例化就可以通过类名直接访问类中定义的方法,而实例化时必须使用new关键字,。

静态常量在其他的类中可以用类名.变量名直接调用,而实例常量只能在本身的类中调用

2、若某个类要实现一个接口,需要在类中完成那些工作?

首先要实现implements接口,然后覆盖里面的方法,然后再进行使用。

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2