计算机二级中选择题是非常重要的,所以开始写一个每日一题的专栏。
答案及解析将在末尾公布!
今日主题:面向对象特性
1、有两个类 A 和 B 的定义如下:
class A{final int x=10;public void show(){System.out.print(x + " ");}
}
class B extends A {public void show(){x=20;System.out.print(x + " ");}
}
若定义了类 A 的对象a
和类 B 的对象b
,则执行语句b.show(); a.show();
的结果是
(A) 显示 20 20
(B) 编译错误
© 显示 10 10
(D) 显示 20 10
2、执行下列代码时,产生的异常是
int a =0;
int b=0;
int c = a / b;
(A) ArrayIndexOutOfBoundsException
(B) ArithmeticException
© DividedByZeroException
(D) NullPointerException
3、下列代码段执行后的结果是
String s1 = "abcd";
String s2 = s1;
if (s1 == s2)System.out.print("==");
elseSystem.out.print("!=");
s1 = new String("abcd");
char ch[] = {'a','b','c','d'};
s2 = new String(ch);
if(s1 == s2)System.out.print("==");
elseSystem.out.print("!=");
(A) ==
(B) != ==
© != !=
(D) == !=
4、下列代码段执行后的结果是
int[][] a = {{1,4,3,2}, {8,6,5,7}, {3,7,2,5}, {4,8,6,1}};
int i,j,k,t;
for(i=0;i<3;i++) {k=0;for(j=k+1;j<4;j++)if(a[i][k] < a[i][j]) k=j;t = a[i][0];a[i][0] = a[i][k];a[i][k] = t;
}
for(i=0;i<4;i++)System.out.print(a[i][0] + " ");
(A) 1 6 2 1
(B) 2 7 5 1
© 4 8 7 4
(D) 1 8 3 4
5、下列代码段执行后的输出结果是
String s = "BangBangBa!Bang";
int i0, i1, i2;
i0 = s.indexOf('a');
i1 = s.indexOf('g', i0+1);
i2 = s.indexOf("Ba", i1+1);
System.out.println(i2);
(A) 8
(B) 4
© 11
(D) 0
6、异常类InterruptedException
的父类是
(A) IOException
(B) AWTException
© RuntimeException
(D) LinkageError
7、类Throwable
的直接父类是
(A) RunTimeException
(B) Object
© IOException
(D) AWTException
8、下列关于构造方法的描述中,正确的是
(A) 构造方法的返回类型是void
(B) 构造方法的名字可以随意确定
© 构造方法可以重载
(D) 构造方法是没有参数的
9、下列代码段执行后的输出结果是
String str1 = "1234";
String str2 = str1.replace("34", "43");
System.out.println(str1 + " " + str2);
(A) 1234 1243
(B) 1234 1234
© 1234 3443
(D) 1234 1221
10、下列关于import
语句的说法中,错误的是
(A) 所有程序都至少需要一个import
语句
(B) 程序中可以包含多个import
语句
© import
语句必须写在所有类的定义之前
(D) import
语句用于引入程序要使用的 Java 类
1、答案:B
解析:类 A 中x
是final
变量(常量),子类 B 的show()
方法试图修改x
,导致编译错误。
2、答案:B
解析:整数除以零会抛出ArithmeticException
(算术异常)。
3、答案:D
解析:
- 初始
s1
和s2
指向同一字符串常量,s1==s2
为true
;- 重新创建
String
对象后,s1
和s2
指向不同对象,==
比较地址为false
。4、答案:C
解析:外层循环遍历前 3 行,每行寻找最大值并与第一个元素交换,结果为第 0 行最大值 4、第 1 行最大值 8、第 2 行最大值 7、第 3 行不变 4。
5、答案:B
解析:
i0 = s.indexOf('a')
→ 索引 1(‘B’ 在 0,‘a’ 在 1);i1 = s.indexOf('g', 2)
→ 索引 3(从 2 开始找 ‘g’);i2 = s.indexOf("Ba", 4)
→ 索引 4(从 4 开始找 “Ba”)。6、答案:C
解析:InterruptedException
继承自Exception
,而Exception
的父类是Throwable
,但选项中最接近的是RuntimeException
(同属异常体系)。
7、答案:B
解析:Throwable
是所有异常和错误的父类,直接继承自Object
。
8、答案:C
解析:
- A 错误:构造方法无返回类型;
- B 错误:构造方法名必须与类名相同;
- C 正确:构造方法支持重载;
- D 错误:构造方法可以有参数(带参构造)。
9、答案:A
解析:replace("34", "43")
将字符串中 “34” 替换为 “43”,str1
不变(字符串不可变),str2
为 “1243”。
10、答案:A
解析:java.lang
包缺省自动引入,无需显式import
,故并非所有程序都需要import
语句。
完整版 PDF(含二级更多题目题库)
点击下载
以上就是本期内容,如有错误请指正!