《Java基础入门》课后习题及答案资料 下载本文

C、 new int[][3]; D、 以上答案皆不对 10、请先阅读下面的代码。

int x = 1; int y = 2;

if (x % 2 == 0) { }

System.out.println(\

y++; y--; } else {

上面一段程序运行结束时,变量y的值为下列哪一项?A

A、1 B、2 C、3 D、switch语句

四、程序分析题

阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。

代码一:b=7(编译不通过。int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过)

public class Test01 { }

public static void main(String[] args) { }

byte b = 3; b = b + 4;

System.out.println(\

代码二:不能,y只在{}有效(编译不通过。这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码)

public class Test02 {

public static void main(String[] args){

int x = 12; {

int y = 96;

System.out.println(\System.out.println(\

}

}

} y = x;

System.out.println(\

代码三:3 因为没有break,,所以4以后都执行

public class Test03 { }

public static void main(String args[]) { }

int x = 4, j = 0; switch (x) { case 1: }

System.out.println(j);

j++; j++; j++; j++; j++; j++; case 2: case 3: case 4: case 5: default:

代码四: 9 8 7

public class Test04 { }

public static void main(String args[]) { }

int n = 9; while (n > 6) { }

System.out.println(n); n--;

五、简答题

1、请列举Java语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小。

Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double双精度浮点型,占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,有true和false两个值,分别占一个字节。

2、简述&&与&的区别并举例说明。

如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x < y & x / 2 > 0是不会出现这种异常的,因为x < y为false,表达式x / y不会执行

3、什么是方法重载?

方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。

六、编程题

请按照题目的要求编写程序并给出运行结果。 1、请编写程序,实现计算“1+3+5+7+…+99”的值。

提示:

1) 使用循环语句实现自然数1~99的遍历。

2) 在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加。 2、已知函数

x + 3 ( x > 0 ) y = 0 ( x = 0 ) x2 –1 ( x < 0 )

请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。 提示:

1) 定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型。 2) 在方法中使用if…else if..else 语句针对x的值进行三种情况的判断。

3) 根据判断结果分别执行不同的表达式,并将结果赋予变量y。 4) 在方法的最后返回y的值。

5) 在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。 3、请编写程序,实现对数组{25,24,12,76,101,96,28} 的排序。 提示:使用冒泡排序算法。

第3章 面向对象(上)

一、填空题

1、 面向对象的三大特征是封装性_、_继承性_____和__多态性____。 2、 在Java中,可以使用关键字__new____来创建类的实例对象。

3、 定义在类中的变量被称为__成员变量____,定义在方法中的变量被称为局部变量______ 4、 面向对象程序设计的重点是_类___的设计,__类____是用来创建对象的模板。 5、 在非静态成员方法中,可以使用关键字_this__访问类的其它非静态成员。 6、 当一个对象被当成垃圾从内存中释放时,它的__finalize()____方法会被自动调用。 7、 被static关键字修饰的成员变量被称为_静态变量_,它可以被该类所有的实例对象共享。 8、 在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为_内部类_____。 9、在Java中,提供了一个_javadoc_____命令,用于将程序中的文档注释提取出来,生成HTML格式

的帮助文档。

10、所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用_private_____关键字来修饰。 二、判断题

1、在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。对 2、Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。对

3、声明构造方法时,不能使用private关键字修饰。错