JAVA程序设计-答案 联系客服

发布时间 : 星期一 文章JAVA程序设计-答案更新完毕开始阅读d3c2a41d10a6f524ccbf852b

35.下面叙述中,错误的是( C )。

A.子类继承父类 B.子类能替代父类 C.父类包含子类 D.父类不能替代子类 36.下列对多态性的描述中,错误的是( B )。

A.Java语言允许方法重载与方法覆盖 B.Java语言允许运算符重载

C.Java语言允许变量覆盖 D.多态性提高了程序的抽象性和简洁性 37.下面关于接口的描述中,错误的是( A )。

A.一个类只允许继承一个接口 B.定义接口使用的关键字是interface C.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现 D.接口实际上是由常量和抽象方法构成的特殊类

38.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( C )

A.ArrayList myList=new Object();

B.ArrayList myList=new List();

C.List myList=new ArrayList(); D.List myList=new List();

39.下列哪些方法与方法public void add(int a){}为合理的重载方法?( ACD ) A.public void add(char a) B.public int add(int a)

C.public void add(int a,int b) D.public void add(float a)

40.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是( C )。 A.public int MAX_LENGTH=100; B.final public int MAX_LENGTH=100; C.public final int MAX_LENGTH=100; D.final int MAX_LENGTH=100; 41.可实现有序对象的操作有哪些?( CD )

A.HashMap B.HashSet C.TreeMap D.LinkedList

42.迭代器接口(Iterator)所定义的方法是( ABC )。 A.hasNext() B.next()

C.remove() D.nextElement()

43.下列方法属于java.lang.Math类的有(方法名相同即可)( ABCD )。 A.random() B.abs() C.sqrt() D.pow() 44.指出正确的表达式有( AB )。

A.double a=2.0; B.Double a=new Double(2.0); C.byte A= 350; D.Byte a = 120; 45.System类在哪个包中?( B )

A.java.awt B.java.lang C.java.util D.java.io 46.关于Float,下列说法正确的是( ACD )。

A.Float在java.lang包中 B.Float a=1.0是正确的赋值方法

C.Float是一个类 D.Float a= new Float(1.0)是正确的赋值方法 47.请问所有的异常类皆继承哪一个类?( A ) A.java.lang.Throwable B.java.lang.Exception C.java.lang.Error

D.java.io.Exception

48.哪个关键字可以抛出异常?( B )

A.transient B.throw C.finally D.catch 49.对于已经被定义过可能抛出异常的语句,在编程时( A )。 A.必须使用try/catch语句处理异常,或用throw将其抛出。 B.如果程序错误,必须使用 try/catch语句处理异常。 C.可以置之不理。

D.只能使用try/catch语句处理。

50.下面程序段的执行结果是什么?( B )

public class Foo{

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

return;}

finally{System.out.println(\ } } }

A.编译能通过,但运行时会出现一个例外。 B.程序正常运行,并输出 \。 C.程序正常运行,但不输出任何结果。 D.因为没有catch语句块,所以不能通过编译。

二、判断题(每题2分,共50题)

1.Java语言具有较好的安全性和可移植性及与平台无关等特性。( √ )

2.Java语言的源程序不是编译型的,而是编译解释型的。( √ )

3.Java Application程序中,必有一个主方法main(),该方法有没有参数都可以。( √ )

4.java.util.Scanner(System.in)可以接收用户从键盘输入的简单数据。( √ ) 5.Java程序中不区分大小写字母。( × )

6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。( √ ) 7.System类中的println()方法分行显示信息,而print()方法不分行显示信息。( √ )

8.当前路径的标识是“.”。 ( √ )

9.java命令不区分大小写,而javac命令区分大小写。( × )

10.printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。( √ )

11.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。( × )

12.Java语言使用的是Unicode字符集,每个字符在内存中占8位。( × )

13.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。( √ ) 14.所有的变量在使用前都必须进行初始化。( × )

15.已知byte i = (byte)127; i = i +1;这两个语句能被成功编译。( √ ) 16.String str=\char chr=str.charAt(9); ( × )

17.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'};char chr=chrArray[6]; ( √ )

18.int i,j; boolean booleanValue=(i==j); ( × )

19.int intArray[]={0,2,4,6,8}; int length=int Array.length();( × ) 20.String str=\( × ) 21.short shortValue=220; byte byteValue=shortValue; ( × ) 22.int[] intArray[60]; ( × )

23.char[] str=\( × )

24.说明或声明数组时不分配内存大小,创建数组时分配内存大小。( √ )

25.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。( √ ) 26.类是一种类型,也是对象的模板。( √ ) 27.类中说明的方法可以定义在类体外。( × ) 28.实例方法中不能引用类变量。( × )

29.创建对象时系统将调用适当的构造方法给对象初始化。( √ )

30.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。( √ ) 31.对象可作方法参数,对象数组不能作方法参数。( × ) 32.class是定义类的惟一关键字。( √ )

33.Java语言会自动回收内存中的垃圾。( √ ) 34.Java语言中,构造方法是不可以继承的。( √ )

35.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。( × )

36.抽象方法是一种只有说明而无具体实现的方法。( √ ) 37.Java语言中,所创建的子类都应有一个父类。( √ )

38.调用this 或super构造方法的语句必须放在第一条语句。( √ ) 39.一个类可以实现多个接口,接口可以实现“多重继承”。 ( √ ) 40.实现接口的类不能是抽象类。( √ )

41.使用构造方法只能给实例成员变量赋初值。( √ )

42.Java 语言不允许同时继承一个类并实现一个接口。( × ) 43.Map接口是自Collection接口继承而来。( × )

44.集合Set是通过键-值对的方式来存储对象的。( × )

45.Integer i = (Integer.valueOf(\( √ )

46.String s = (Double.valueOf(\( √ ) 47.Integer I = Integer.parseInt(\( √ ) 48.Arrays类主要对数组进行操作。( √ ) 49.在集合中元素类型必须是相同的。( √ ) 50.集合中可以包含相同的对象。( × )

三、填空题(每题3分,共50题)

1.已知:int a =8,b=6; 则:表达式++a-b++的值为( 3 )。

2.已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为( false )。 3.已知:double x=8.5,y=5.8; 则:表达式x++>y--值为( true )。

4.已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为( 13 )。 5.执行int x, a = 2, b = 3, c = 4; x = ++a + b++ + c++; 结果是( x=10,a=3,b=4,c=5 )。

6.Java中的显式类型转换既能(从低类型向高类型转换)也能从高类型向低类型转换,而隐式类型转换只有前者。

7.在Java中,字符串和数组是作为(对象)出现的。 8.执行下列程序代码的输出结果是( 10,11,11 )。

int a = 10; int i, j; i = ++a; j = a--; System.out.printf(\

9.执行完boolean x=false; boolean y=true; boolean z=(x&&y)&&(!y) ; int f=z==false?1:2;

这段代码后,z与f的值分别是( false )和( 1 )。

1.类是一组具有相同(属性)和(行为)的对象的抽象。(实例)是由某个特定的类所描述的一个个具体的对象。

10.(接口)只描述系统所提供的服务,而不包含服务的实现细节。

11.模型应具有(抽象性)、(可理解性)、(精确性)、(确定性)和廉价性等基本特性。

12.UML定义了(用例图)、(静态图)、(交互图)、行为图和实现图五类模型图。

13.在UML类图中分别用( + )、( # )、( ~ )和( - )表示属性与方法的公有、保护、默认和私有访问控制权限。

14.在UML中,类之间主要有(关联)、(依赖)、(聚集)、(泛化)和实现五种关系。

15.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。

16.在方法体内定义的变量是(局部变量),其前面不能加(public),且必须(初始化)。

17.数组元素作实参时对形参变量的数据传递是(单向值传递),数组名作实参时对形参变量的数据传递是(双向引用传递)。

18.对象作方法形参时,方法实参也用对象,实现(引用)调用。 19.( new)是一个特殊的方法,用于创建一个类的实例。

20.对象拷贝有(对象引用复制)、(浅复制)和(深复制)三种。

21.(类)方法不能直接访问其所属类的(实例)变量和(实例)方法,只可直接访问其所属类的(类)变量和(类)方法。

22.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。

23.Java使用固定于首行的(package)语句来创建包。

24.在运行时,由java解释器自动引入,而不用import语句引入的包是(java.lang)。 25.发布Java应用程序或类库时,通常可以使用JDK中自带的(JAR)命令打包。 26.在面向对象系统中,消息分为(公有消息)和(私有消息)两类。

27.类的访问控制符有(public)和(默认default)两种,(public)类具有跨包访问性而(default)类不能被跨包访问。

28.类成员的访问控制符有(public)、(protected)、(private)和默认四种。 29.public类型的类成员可被(同一类)、同一包中的(子类与非子类)和不同包中的 (子类与非子类)的代码访问引用。

30.protected类型的类成员可被(同一类)、同一包中的(子类与非子类)和不同包中的(子类)的代码访问引用。

31.default类型的类成员只能被(同一类)、同一包中的(子类与非子类)的代码访问引用。

32.private类型的类成员只能被其所在类中的代码访问引用,它只具有(类)域访问性。

33.系统规定用(this())表示当前类的构造方法,用(super())表示直接父类的构造方法,在构造方法中两者只能选其一,且须放在第一条语句。