一.单选题
1.属于面向对象的特征的是() A、重载 B、重写 C、构造 D、继承
2.程序输出结果是什么?( )
Public static void main ( String[] args ) {
String str1 = “java”;
StringBuffer str2 = new StringBuffer(str1);
replace(str1); replace(str2);
System.out.println(str1 + “,” + str2); }
Private static void replace(String str1) {
str1.replace(‘a’, ‘b’); }
Private static void replace ( StringBuffer str2 ) {
int index = str2.indexOf(“a”); while (index > 0) {
str2.setCharAt(index, ‘b’);
Index = str2.indexOf(“a”, index); } }
A. jbvb,jbvb; B. java,java; C. java,jbvb; D. java,jbva;
2.对于下面这行代码,说法正确的是?( ) String [][] s = new String [10][];
A. 该行代码非法;
B. s是包含10行10列的二维数组; C. s中的每个元素被设置为“”;
D. s是包含10个一维数组的二维数组;
3.如果试图编译﹑运行下面的类,会发生什么情况?( )
class Test {
static int myArg = 1;
public static void main(String[] args) {
int myArg;
System.out.println(myArg); } }
A. 运行结果输出为0;
B. 编译错误,因为局部变量在初始化之前使用;
C. 编译错误,因为不能用与静态变量相同的名字来定义局部变量; D. 运行结果输出为1;
4.下面表达式的最终值是( )
new Integer(1).equals(new Long(1))
A. true; B. false;
5. 下列代码输出结果为:( ) int i = 1; switch (i) {
case 0:
System.out.print(“zero,”); case 1:
System.out.print(“one,”); case 2:
System.out.print(“two,”); default:
System.out.print(“default”); }
A. one;
B. one, default; C. default;
D. one, two,default;
6.下面代码执行后的输出为( ) String strTest1= “abc”;
String strTest2 = new String(“test”); if (strTest1 = = “abc”) {
System.out.print(“true”); } else {
System.out.print(“false”); }
if (strTest2 = = “test”) {
System.out.print(“true”); } else {
System.out.print(“false”); }
A. truetrue B. truefalse; C. falsetrue; D. falsefalse;
7.语句switch(expr){?..}, 合法的表达式expr不可以具有哪些类型的值?()
A. long; B. short; C. byte; D. char;
8. 以下代码中,可用在case中的变量有哪些? ( ) protected int a1;
protected final int a2 = 1;
public void test(int i1, final int i2) {
Final int i3 = 100; //? }
A. a1,a2; B. a1,i1;
C. a2,i3; D. a2;
9. 以下程序输出结果是什么?( ) String str = null;
if (str != null & str.length() > 0) {
System.out.println(“str is NOT empty”); } else {
System.out.println(“str is empty”); }
A. str is NOT empty; B. str is empty; C. 编译错误; D. 运行期错误;
10. 关于Overriding, 说法正确的是?() A.覆盖方法的可见性不能够高于被覆盖方法;
B. 覆盖方法的可见性可以低于被覆盖方法,以屏蔽父类的某些方法; C. 覆盖方法可以抛出更少的异常,或抛出对应异常的子类;
11. 关于抽象类,说法正确的是?( ) A.抽象类必须有一个以上的抽象方法; B.包含抽象方法的类必须声明为抽象类; C.抽象类可以实例化;
D.抽象类可以继承多个抽象类;
12. 用代码 test(true) 调用下述的函数 test() 的返回值是多少?()
int test(Boolean condition) {
try {
return condition ? 0 : 1; }
finally {
return 2; } }
A. 0; B. 1; C. 2;
D. 0或1;
13. 类Teacher 和 Student 都是类Person的子类,若编译,运行如下的代码段(不考虑代码段是否完整的影响)的结果是( ); Person p; Teacher t; Student s;
//p,t和s都是非空值
if(t instanceof Person) { s = (Student)t;} A. 将构造一个Student对象。 B. 表达式合法。 C. 编译错误。
D. 编译时合法而在运行时可能非法。
14.以下集合描述错误的是( );
A.Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的;
B.当需要增长时,Vector默认增长为原来一倍,而ArrayList却是原来的一半;
C.Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
D.Hashtable属于Table接口的类,HashMap都属于Map接口的类,实现了将唯一键映射到特定的值上集合的基本特性;
15. 以下哪种类型没有实现或继承Collection接口(); A.List; B. Set; C. Map;
D. AbstractCollection;
二.判断题
1、HashMap类没有分类或者排序。它不允许一个null键和多个null值( );
2、Set里的元素是可以重复的( );
3、Vector类中的对象不能是简单数据类型。( );
4、Collection和Collections的区别。 Collections是个 java.util下的类,它包含有各种有关集合操作的静态方法。 Collection是个 java.util下的接口,它是各种集合结构的父接口。( );