public static void main (String args []) {
boolean a = false;
if (a =true)
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
打印出Hello
爲什麼呢?
以上是一個scjp的一個試題,不到機子上去運行選出輸出結果,其實這道題目是考查的是賦值操作符(=)和等於操作符(==)的,
我來解析一下if(a=true)注意這是賦值操作符相當於把a賦成true。 這個時候a是爲true的。當然是打印出Hello
如果把這個程序給改一下呢
public class Q {
public static void main (String args []) {
boolean a = false;
if (a ==true) //注意把=賦值操作符改成了==等於操作符。因爲a初始化是false的,
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
所以這個程序就打印出Goodbye;
public class Q {
public static void main (String args []) {
boolean a = false;
if (a) //把=true去掉
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
這個程序就也是打印出Goodbye的因爲a初始是false的。因此打印出Goodbye