幾個問題(七)-------運算符 && 和 || 的返回值

&&首先計算其左邊的表達式,如果它的值爲false或可被轉換爲false(null、NaN、0或undefined),那麼將返回左邊表達式的值,否則,它將計算右邊的表達式, 並返回這個表達式結果作爲 &&運算的結果。
||首先計算其左邊的表達式,如果它的值不爲false或不可被轉換爲false(null、NaN、0或undefined),那麼將返回左邊表達式的值,否則,它將計算右邊的表達式, 並返回這個表達式結果作爲 || 運算的結果。?
Html代碼?
  1. <HTML>??
  2. ?<HEAD>??
  3. ??<TITLE>?運算符&&和||的返回值?</TITLE>??
  4. ?</HEAD>??
  5. ?<BODY>??
  6. ?&&首先計算其左邊的表達式,如果它的值<font?color=blue>爲false</font><font?color=blue>可被轉換爲false</font><font?color=red>(null、NaN、0或undefined)</font>,那麼將返回左邊表達式的值,否則,它將計算右邊的表達式, ??
  7. ?並返回這個表達式結果作爲?&&運算的結果。<br>??
  8. ||首先計算其左邊的表達式,如果它的值<font?color=blue>不爲false</font><font?color=blue>不可被轉換爲false</font><font?color=red>(null、NaN、0或undefined)</font>,那麼將返回左邊表達式的值,否則,它將計算右邊的表達式, ??
  9. ?並返回這個表達式結果作爲?&&運算的結果。 ??
  10. ?<hr>??
  11. ??<SCRIPT?LANGUAGE="JavaScript">??
  12. ????function?dwn(s) ??
  13. ????{ ??
  14. ????????document.write(s?+?"<br/>"); ??
  15. ????} ??
  16. ??
  17. ????dwn("null?&&?33?=?"?+?(null?&&?33));//null ??
  18. ????dwn("NaN?&&?33?=?"?+?(NaN?&&?33));//NaN ??
  19. ????dwn("0?&&?33?=?"?+?(0?&&?33));//0 ??
  20. ????dwn("undefined?&&?33?=?"?+?(undefined?&&?33));//undefined ??
  21. ????dwn("true?&&?33?=?"?+?(true?&&?33));//33 ??
  22. ????dwn("false?&&?33?=?"?+?(false?&&?33));//false ??
  23. ????dwn("33?&&?44?=?"?+?(33?&&?44));//44 ??
  24. ????dwn("---------"); ??
  25. ??
  26. ????dwn("null?||?33?=?"?+?(null?||?33));//33 ??
  27. ????dwn("NaN?||?33?=?"?+?(NaN?||?33));//33 ??
  28. ????dwn("0?||?33?=?"?+?(0?||?33));//33 ??
  29. ????dwn("undefined?||?33?=?"?+?(undefined?||?33));//33 ??
  30. ????dwn("true?||?33?=?"?+?(true?||?33));//true ??
  31. ????dwn("false?||?33?=?"?+?(false?||?33));//33 ??
  32. ????dwn("33?||?44?=?"?+?(33?||?44));//33 ??
  33. ???? ??
  34. </SCRIPT>??
  35. <hr>??
  36. 同時javascript中?if?(expression)?statement;?語句的判斷也是<br>??
  37. 看?expression?是否是不是?false?或?能不能轉換成false(null、NaN、0或undefined)<br>??
  38. 如果能?則不執行?statement;?否則就執行?statement; ??
  39. <hr/>??
  40. <SCRIPT?LANGUAGE="JavaScript">??
  41. <!-- ??
  42. ????if?(null) ??
  43. ????????dwn("null?test"); ??
  44. ????if?(0) ??
  45. ????????dwn("0?test"); ??
  46. ????if?(undefined) ??
  47. ????????dwn("undefined?test"); ??
  48. ????if?(NaN) ??
  49. ????????dwn("NaN?test"); ??
  50. ????if?(444) ??
  51. ????????dwn("444?test"); ??
  52. //-->??
  53. </SCRIPT>??
  54. <hr>??
  55. 由此可見,if?(a==b)dosth();和a==b&&dosth();或a!=b||dosth()等價 ??
  56. ??
  57. ?</BODY>??
  58. </HTML>??

true && false || true 是 true 還是 false

答案:true

int i = 1 / 0;
int j = 1 % 0;
double k = 1.0 / 0;
i,j,k三條語句執行後分別顯示什麼
答案:
語句一?
Exception in thread "main" java.lang.ArithmeticException: / by zero?
語句二?
Exception in thread "main" java.lang.ArithmeticException: / by zero?
語句三?
k is Infinity?
當查看JDK的文檔的時候,我們可以清楚的看到,double和float是允許除以0的,而int是不允許除以0的。?
double l = 1.0 % 0;?
輸出:l is NaN





發佈了137 篇原創文章 · 獲贊 6 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章