文档库 最新最全的文档下载
当前位置:文档库 › Java实验报告2 类和对象

Java实验报告2 类和对象

Java实验报告2 类和对象
Java实验报告2 类和对象

实验报告

【实验名称】第二章类和对象

【实验目的】

1.学习Java的基本语法

2.学习Java的运算符和控制语句

3.学习类和对象的概念

【实验原理】

1.Java程序设计基本原理

2.面向对象程序设计基本原理

【实验内容】

一、填空题

1. System.out.println(“12”+ 5);语句的输出结果是 125 。

2. Java语言中“2.5%1.2”的运算结果是 0.1 。

二、简答

1. 为什么类成员方法只能操作类成员变量,而不能操作实例变量?

[解答]

因为类方法是静态方法,静态方法在加载class的时候就会初始化,而非静态成员(实例成员)还未进行初始化,所以类成员方法只能操作类成员变量,而不能操作实例变量。

2. 简述指针和引用有什么区别?

[解答]指针表示的是地址,引用表示的也是地址,但是指针可以进行修改,引用则不能进行改动。并且使用指针具有三大缺点,指针指向的内存并不是我们所需要的内存、指针所访存的内存空间是不允许被访存的、指针访存的空间并不存在。

三、实验题

1. 指出程序中的错误,并修正

public class Example{

public static void main(String args[]){

int a=1.0;

float fa=216;

float fb=21.656f;

double da=125e45d;

double db=123.45;

float fc=0.1;

}

}

[解答]:

int a=1.0 修改为 double a=1.0 (float型比int型级别高)

float fc=0.1 修改为 double fc=0.1 (double的类型比float级别高)

2.写出如下程序输出结果,并说明原因

public class E_c{

public static void main(String args[]){

String sx1="my";

String sx2="god";

char cx='a';

System.out.println(sx1+sx2);

System.out.println(sx2+cx);

System.out.println(sx1+5);

System.out.println(cx+5);

}

}

结果:

mygod

goda

my5

102

原因:

因为在输出内容包含字符串的时候,输出结果就全部为字符串,因此前三个结果为字符,第四个并不是,c的ascii为97,所以结果为102

3、把如下程序改成从键盘输入两个整数,并判断大小。

public class FindBigone{

public static void main(String args[]){

int i1=127;

int i2=59;

if(i1>=i2){

System.out.println("The Bigger One is:"+i1);

}else{

System.out.println("The Bigger One is:"+i2);

}

}

}

修改:

import java.util.Scanner;

public class FindBigone{

public static void main(String args[]){

Scanner reader=new Scanner(System.in);

System.out.println("输入两个整数,进行比较");

int i1=reader.nextInt();

int i2=reader.nextInt();

if(i1>=i2){

System.out.println("The Bigger One is:"+i1);

}else{

System.out.println("The Bigger One is:"+i2);

}

}

}

4、写出下列程序输出,并解释

public class Student{

String name;

static String school="北京大学";

public static void main(String args[]){

Student stu1=new Student();

Student stu2=new Student();

Student stu3=new Student();

https://www.wendangku.net/doc/d718832189.html,="1";

https://www.wendangku.net/doc/d718832189.html,="2";

https://www.wendangku.net/doc/d718832189.html,="3";

System.out.println(https://www.wendangku.net/doc/d718832189.html,+","+stu1.school);

System.out.println(https://www.wendangku.net/doc/d718832189.html,+","+stu2.school);

System.out.println(https://www.wendangku.net/doc/d718832189.html,+","+stu3.school);

stu2.school="安徽大学";

System.out.println(https://www.wendangku.net/doc/d718832189.html,+","+stu1.school);

System.out.println(https://www.wendangku.net/doc/d718832189.html,+","+stu2.school);

System.out.println(https://www.wendangku.net/doc/d718832189.html,+","+stu3.school);

} //思考程序的输出结果

}

1,北京大学

2,北京大学

3,北京大学

1,安徽大学

2,北京大学

3,北京大学

原因:因为school是静态变量,name是非静态变量,所以对于前三个来说,name可以有多个,分别为1,2,3;但是school在内存中共享,表示为北京大学。因此可得出此结果。同理,对school进行修改,则school中存的值变为安徽大学,共享的缘故,stu1,stu2,stu3的school均为安徽大学,因此得出后面三个结果。

【小结或讨论】

这次实验课主要讲了三个方面的内容,类与对象,Java的基本算法以及Java的运算符和控制对象。首先回顾了类的使用方法,对比了面向对象与Java的不同,如何区分指针和引用,以及Java中类的使用。接着介绍了Java的基本用法,Java 的操作符、数据类型和基本输入输出语句,需要注意的部分,boolern型只有整数、汉字也是Java的一种,整数默认是int型,浮点数默认是double型。最后是简单讲述了运算符和控制语句,之中需要注意的是浮点数也可以进行取余操作,if的判断语句中必须是true或者false。

相关文档
相关文档 最新文档