标签:
(1)看看下面代码输出什么。
public class _T {
public static void main(String[] args) {
boolean m = false;
if(m = true) //m会被赋值为true,而且if判断会得到被赋的值true,即if成立
System.out.println("False");
else
System.out.println("True");
}
}
结果输出False,并且m被赋值为true.在Java中,比较是否相等用==,=是赋值符号。
(2)以下的结果是什么,正常运行?编译错误?空指针异常?
public class KingA {
public static void haha(){
System.out.println("haha");
}
public static void main(String[] args) {
((KingA)null).haha();
}
}
结果:正常运行。null可以强制转换为任何类的类型,并调用其静态方法。但调用其非静态方法会抛空指针异常。
(3)以下代码输出结果是A.结果是:finally6 B.finally结果是:6 C.结果是:6finally
public class TestFinally {
public static void main(String[] args){
System.out.println("结果是:"+getSome());
}
public static int getSome(){
try{
return 6;
}
finally{
System.out.print("finally");
}
}
}
答案:B。先执行完getSome(),再执行System.out.println,而在getSome()中,先finally再return。
(4)以下输出什么,返回值是什么类型
public class Conditional{
public static void main(String args[ ]){
int x=5;
System.out.println("value is "+ ((x>4) ? 9:9.9));
}
}
答案 9.0,类型为double。因为在三目运算符中,double类型值9.9参与了运算,所以返回结果是double类型。
标签:
原文地址:http://www.cnblogs.com/Neymar/p/4809963.html