您的位置:首頁技術文章
文章詳情頁

java基礎,求解答。

瀏覽:124日期:2023-10-22 08:43:50

問題描述

public class Demo {

public static void main(String args[]) { boolean flag = 10%2 == 1 && 10 / 3 == 0 && 1 / 0 == 0 ; System.out.println(flag ? 'mldn' : 'yootk') ; } } 代碼如上,我任務考察的是 && 符號 與 & 符號的區別,但是在最后一個 1 / 0 == 0 這個竟然能走通,而且打印出來了yootk,這個除數不是不能為零的嗎?為什么能走通呢?很是費解,希望大神可以給解釋下,謝謝。

問題解答

回答1:

&& 和 || 具有短路效應:短路效應的根本原因是提高性能

&& 運算符檢查第一個表達式是否返回 false,如果是 false , 則結果必為 false,不再檢查其他內容|| 運算符檢查第一個表達式是否返回 true,如果是 true , 則結果必為 true,不再檢查其他內容

public static void main(String args[]) { boolean flag = 10%2 == 1 && 10 / 3 == 0 && 1 / 0 == 0 ; System.out.println(flag ? 'mldn' : 'yootk') ; }

10%2 == 1 為 false ,后面的內容就不再執行了

回答2:

10%2 == 1為 false,整個表達式最終結果就是false,后面的不執行了,短路了。

回答3:

&&和||會短路,但&和|不會。如果你把&&改成&就一定會有異常了。

標簽: java
相關文章:
国产综合久久一区二区三区