1.下面代码的运行结果是()
public static void main(String[] args){String s;System.out.println("s="+s);}
A.代码编程成功,并输出”s=”
B.代码编译成功,并输出”s=null”
C.由于String s没有初始化,代码不能编译通过。
D.代码编译成功,但捕获到NullPointException异常
【答案】
C
【解析】
局部变量在使用的时候,一定要进行初始化。
2.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()
package NowCoder;
class Test {public static void hello() {System.out.println("hello");}
}
public class MyApplication {public static void main(String[] args) {// TODO Auto-generated method stubTest test=null;test.hello();}
}
A.能编译通过,并正确运行
B.因为使用了未初始化的变量,所以不能编译通过
C.以错误的方式访问了静态方法
D.能编译通过,但因变量为null,不能正常运行
【答案】
A
【解析】
Test test=null;
test.hello();
因为test=null不指向任何对象 并调用hello(),如果hello不是静态方法的话,就会报空指针异常。
因为hello()是静态的方法,所以通过test可以调用hello,因为test的本质还是Test类型。
3.如下代码的输出结果是什么?
public class Test { public int aMethod(){static int i = 0;i++; return i;}
public static void main(String args[]){Test test = new Test(); test.aMethod(); int j = test.aMethod();System.out.println(j);}
}
A.0
B.1
C.2
D.编译失败
【答案】
D
【解析】
Java中不允许定义局部的静态变量!
在方法中定义的变量是局部变量,为静态方法属于类变量。随着类的加载而被创建,而局部变量是调用该方法的时候,才创建的。
4. 以下代码在编译和运行过程中会出现什么情况
public class TestDemo {private int count;public static void main(String args[]){TestDemo test = new TestDemo(88);System.out.println(test.count);}TestDemo(int a){count=a;
}
}
A.编译运行通过,输出结果是88
B.编译时错误,count变量定义的是私有变量
C.编译时错误,System.out.println方法被调用时test没有初始化
D.编译和执行时没有输出结果
【答案】
A
【解析】
TestDemo test = new TestDemo(88);
这里它会创造TestDemo对象并且调用一个整型的构造方法,就是下面的 TestDemo(int a){}
.
所以把88给了私有的count,因为是在当前类中调用,所以会正常输出。
5.关于包的说法,错误的是()
A.包是一组类的集合
B.包能防止类的名字冲突
C.import语句能够导入 一个指定的包
D.import static能够导入一些静态方法
【答案】
C
【解析】
import导入的是包中的类,不能导入包。