1、
(单选题)下列程序
public class CodeDemo {
public static void main(String[] args) {
new SB();
}
}
class SA {
D d;
static {
System.out.println(“A1”);
}
{
System.out.println(“A2”);
d = new D();
}
public SA() {
System.out.println(“A3”);
}
}
class SB extends SA {
static C c = new C();
static {
System.out.println(“B1”);
}
{
System.out.println(“B2”);
}
public SB() {
System.out.println(“B3”);
}
}
class C {
public C() {
System.out.println(“C”);
}
}
class D extends C {
public D() {
System.out.println(“D”);
}
}
的输出结果是:
A.A1 C B1 A2 C D A3 B2 B3
B.A1 B1 A2 C D B2 A3 B3
C.A1 A2 A3 D C B1 B2 B3
D.A1 C B1 A2 C A3 B2 B3 D
【正确答案】A
2、
(单选题)下面程序执行的结果是()
classDemo{
public static void main(String [] args)
{
int a=10;
if(a++>10)
{
a=20;
}
System.out.println(a);
}
}
A.10
B.11
C.20
D.21
【正确答案】B
【答案解析】++在后,先赋值后运算
3、
(单选题)执行语句int i=12;System.out.println(i+=i-=i*=i);的结果是
A.100
B.0
C.-120
D.程序无法编【正确答案】C
- (单选题)下面的程序输出结果是
public class A implements B {
int k = 20;
public static void main(String args[]) {
int i;
B c1 = new A();
i = c1.k;
System.out.println(“i=” + i);
}
}
interface B {
int k = 10;
}
A.i=20;
B.程序有编译错误
C.i=10
D.i=true;
【正确答案】C - (单选题)下列代码的运行结果是
public static void func() {
try {
throw new Exception();
} finally {
System.out.println(“B”);
}
}
public static void main(String[] args) {
try {
func();
System.out.println(“A”);
} catch (Exception e) {
System.out.println(“C”);
}
System.out.println(“D”);
}
A.BACD
B.BAD
C.ACD
D.编译失败
【正确答案】D - (单选题)对于代码:
package cn.tedu.test
public class Test {
public static void main(String[] args){
System.out.println(“Testing~~~”);
}
}
说法正确的是:
A.可以将这段代码放到 test.java文件中
B.可以利用javac cn.tedu.test.Test.java来编译这段代码
C.可以利用javac Test.java来编译这段代码
D.可以利用java Test来运行这段代码
【正确答案】C
多选题 (共计 10 题,总计 20分) - (多选题)下列各项中,能够正确编译(不考虑运行)的是:
A.Integer i = new Integer(“0x123”)
B.Double d = new Double(5)
C.Boolean b = new Boolean(“tRue”)
D.Boolean b = new Boolean(“abc”)
【正确答案】A,B,C,D - (多选题)下列关于Java中文件输入输出的说法错误的是:
A.在Java中,可以通过流来实现文件的读写操作
B.要向文件中写入数据,可以用一个输入流对象
C.字符流在汉字的处理方面比字节流更加的高效
D.可以通过Reader reader = new Reader(“C:\a.txt”);来创建一个流对象
【正确答案】B,D - (多选题)下列关于super的说法错误的是:
A.super代表当前对象的引用
B.可以通过super语句来实现父类构造函数的调用
C.可以通过super调用私有方法或者私有属性
D.可以在主函数中使用super来调用其他的方法
【正确答案】A,C,D - (多选题)下面关于包的说法正确的是:
A.可以用import关键字导入包
B.不同的包中可以出现类名相同的类
C.Java中可以使用package语句导入包
D.导入包时可以出现*这个符号
【正确答案】A,B,D - (多选题)对于代码:
class A {
private static void m(){}
}
public class B extends A {// 1
}
下列各项中添加到// 1处不会出错的是:
A.public static int m(){return 0;}
B.private void m() throws Exception {}
C.void m(){}
D.public final double m(double i){return i *= 3;}
【正确答案】A,B,C,D - (多选题)给出以下代码,请问该程序的运行结果是
class A{
private int x=0;
static int y=1;
protected int z=2;
}
class B extends A{
void method(){
System.out.println(x);
System.out.println(y);
System.out.println(z);
}
}
下列说法正确的是( )
A.程序编译错误,因为类B不能访问变量x
B.程序编译成功,打印输出012
C.程序编译错误,如果移走System.out.println(x)这条语句,可使编译程序通过
D.程序编译错误,因为变量x未在类B中定义
【正确答案】A,C,D - (多选题)下列各项的说法正确的是:
A.封装可以降低代码的冗余度
B.内部类是封装的体现形式之一
C.继承可以降低代码的重复性
D.运行时多态的前提是有继承或者实现关系
【正确答案】A,B,C,D