java练习1(含答案)

  • 格式:docx
  • 大小:20.53 KB
  • 文档页数:10

java练习1(含答案)

一、选择、填空(每题1分,共30分)

1、运行Java 程序需要的工具软件所在的目录是__A___。

A)JDK 的bin 目录 B)JDK 的demo 目录

C)JDK 的lib 目录 D)JDKR 的jre 目录

2、以下___B____不是Java中有效的关键字

A)const B) NULL

C)false D) this

3、下列关于for循环和while循环的说法中哪个是正确的___A____

A)while循环能实现的操作,for循环也都能实现

B)while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C)两种循环任何时候都可替换

D)两种循环结构中都必须有循环体,循环体不能为空

4、下列关于Java 对import 语句规定的叙述中,错误的是___C__。

A)在Java 程序中import 语句可以有多个

B)在Java 程序中import 语句可以没有

C)在Java 程序中import 语句必须有一个

D)在Java 程序中import 语句必须引入在所有类定义之前

5、下列基本类型数据所占的字节数相同的是__A____

A) boolean和char B) int和float

C) byte和short D) int和double

6、以下的选项中能正确表示Java语言中的一个double型常量的是 C

A) Float.MIN_V ALUE B) 1.8e-6F

C) 2.0 D)abcf?

7、阅读下列代码后

public class Person{ int arr[]=new int[10];

public static void main(String args[]){

System.out.println(arr[1]);

}

}

正确的说法是 ____A____

A)编译时将产生错误 B)编译时正确,运行时将产生错误

C)输出为零 D)输出为空

8、下列语句序列执行后,k 的值是 C

int i=6,j=8,k=10,m=7;

if(i>j||m<="" p="">

A) 12 B)11 C) 10 D) 9

9、下列语句序列执行后,k 的值是 C

int i=10, j=19, k=30;

switch( j - i ) {

case 8 : k++;

case 9 : k+=2;

case 10: k+=6;

default : k/=j;

}

A) 31 B) 32 C) 2 D) 33

10、下列语句序列执行后,ch1 的值是 B

char ch1='A',ch2='W';

if(ch1+2 < ch2 ) ++ch1;

A) …A?B) …B?C) …C?D) B

11.内部类是在一个类内嵌套定义的类。其特点描述错误的是(A )

(A)只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名

(B)可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量 (C)可以作为其它类的成员,而且可访问它所在类的成员

(D)除static内部类外,不能在类内声明static成员

12、下列叙述中,错误的是__D_____

A)接口与类的层次无关 B)通过接口说明类所实现的方法

C)通过接口可了解对象的交互界面 D)接口与存储空间有关

13、System类在哪个包中 D

A) java.util B) java.io C) java.awt D)

/doc/6916875066.html,ng

14.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )

A.捕获异常

B.抛出异常

C.声明异常

D.嵌套异常

15. 给出一段程序,试判断哪个是正确的结果( D )

public class MyProgram{

public static void main (String args[]){

try{

System.out.print(“Hello world ”);

}

finally{

Syste m.out.println(“Finally executing”);

}

}

}

A、无法编译,因为没有指定异常

B、无法编译,因为没有catch子句

C、Hello world

D、Hello world Finally executing

16、封装、继承和多态是Java语言的三大基本特性。

17、Java程序从 main方法开始执行。 18、Java中类成员的权限修饰词有以下几种:private, public,

__protected___, __默认

____。其中,___public_____的限定的范围最大。

19、接口中所有属性均为___public______、___static______和___final_____的。

20、Java中所有类都是类___Object_____的子类。

21、final关键字能修饰__非抽象类___、___非抽象类成员方法__、__变量___。

22、在Java 中,3.14156D 表示的是______double______类型的数据。

23、复用代码的两种方法复用类组合和继承。

24、Java中的基本数据类型和对象引用类型分别存储在栈和栈。

25、一个对象是某个类的_成员对象___,如果要建立一个属于类Car的对象myCar,其语法格式为___Car myCar=new Car()__。

26、Java 不直接支持多继承,但可以通过_____接口_______实现多继承。

27、如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头

_import java.awt.*________________。

28.用static修饰的方法,称为静态方法。它们不是对象的方法,而是整个类的方法。静态方法只能处理用关键字 static 修饰的数据。

29.比较两个对象里面的值是否相等,可以通过实现object中equals 方法的覆写来实现。

30.Java语言通过接口和类支持多重继承,使类继承具有更灵活的扩展性。

二、程序分析题(共30分)

2.1 对下面的程序,分析程序输出结果(10分)

class Plate {

Plate(int i) {

System.out.println("Plate constructor"); }

}

class DinnerPlate extends Plate {

DinnerPlate(int i) {

super(i);

System.out.println("DinnerPlate constructor");

}

}

class Utensil {

Utensil(int i) {

System.out.println("Utensil constructor");

}

}

class Spoon extends Utensil {

Spoon(int i) {

super(i);

System.out.println("Spoon constructor");

}

}

class Fork extends Utensil {

Fork(int i) {

super(i);

System.out.println("Fork constructor");

}

}

class Knife extends Utensil {

Knife(int i) {

super(i);

System.out.println("Knife constructor");

} }

class Custom {

Custom(int i) {

System.out.println("Custom constructor");

}

}

public class PlaceSetting extends Custom {

private Spoon sp;

private Fork frk;

private Knife kn;

private DinnerPlate pl;

public PlaceSetting(int i) {

super(i + 1);

sp = new Spoon(i + 2);

frk = new Fork(i + 3);

kn = new Knife(i + 4);

pl = new DinnerPlate(i + 5);

System.out.println("PlaceSetting constructor");

}

public static void main(String[] args) {

PlaceSetting x = new PlaceSetting(9);

}

}

结果:

Custom constructor

Utensil constructor

Spoon constructor

Utensil constructor

Fork constructor

Utensil constructor