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

}

代码三: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关键字修饰。错

4、类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。对 5、方法内部类中不能访问外部类的成员变量。错

三、选择题

1、类的定义必须包含在以下哪种符号之间?B

A、方括号[] B、花括号{} C、双引号“” D、圆括号() 2、下面哪一个是正确的类的声明? D A、 public void HH{…}

B、 public class Move(){…}

C、 public class void number{} D、 public class Car{…}

3、在以下什么情况下,构造方法会被调用?B

A、 类定义时 B、 创建对象时 C、 调用对象方法时 D、 使用对象的变量时 4、下面对于构造方法的描述,正确有哪些?(多选)ABC A、方法名必须和类名相同

B、方法名的前面没有返回值类型的声明 C、在方法中不能使用return语句返回一个值

D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在 5、使用this调用类的构造方法,下面的说法正确的是?(多选)ACD(ABCD) A、使用this调用构造方法的格式为this([参数1,参数2…]) B、只能在构造方法中使用this调用其它的构造方法 C、使用this调用其它构造方法的语句必须放在第一行 D、不能在一个类的两个构造方法中使用this互相调用 6、下面哪些可以使用static关键字修饰?(多选)AC(ACD)

A、 成员变量 B、局部变量 C、成员方法 D、成员内部类 7、关于内部类,下面说法正确的是?(多选)ACD(ABCD)

A、成员内部类是外部类的一个成员,可以访问外部类的其它成员

B、外部类可以访问成员内部类的成员

C、方法内部类只能在其定义的当前方法中进行实例化 D、静态内部类中可以定义静态成员,也可以定义非静态成员 8、下面对于单例设计模式的描述,正确的是?(多选)BCD(ABCD) A、类中定义一个无参的构造方法,并且声明为私有

B、在内部创建一个该类的实例对象,使用静态变量引用该实例对象 C、使用private修饰静态变量,禁止外界直接访问 D、定义静态方法返回该类实例 9、请先阅读下面的代码D

public class Test { public Test(){

System.out.println(\构造方法一被调用了\ }

public Test(int x){ this();

System.out.println(\构造方法二被调用了\ }

public Test(boolean b){ this(1);

System.out.println(\构造方法三被调用了\ }

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

}

Test test = new Test(true);

上面程序的运行结果为下列哪一项? A、构造方法一被调用了 C、构造方法三被调用了

B、构造方法二被调用了 D、以上三个选项之和

10、Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的?D