scjp題目解析(一)

public class Q {
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
發佈了18 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章