溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java 邏輯運(yùn)算符中&&與&,||與|的區(qū)別

發(fā)布時(shí)間:2020-10-21 11:26:14 來(lái)源:腳本之家 閱讀:173 作者:lqh 欄目:編程語(yǔ)言

在Java的邏輯運(yùn)算符中,有這么四類:&&(短路與),&,|,||(短路或)。

&&和&都是表示與,區(qū)別是&&只要第一個(gè)條件不滿足,后面條件就不再判斷。而&要對(duì)所有的條件都進(jìn)行判斷。

看下面的程序:

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    if((23!=23)&&(100/0==0)){ 
      System.out.println("運(yùn)算沒(méi)有問(wèn)題。"); 
    }else{ 
    <span >  </span>System.out.println("沒(méi)有報(bào)錯(cuò)"); 
    } 
  } 

輸出的是“沒(méi)有報(bào)錯(cuò)”。而將&&改為&就會(huì)如下錯(cuò)誤:

Exception in thread "main" java.lang.ArithmeticException: / by zero 

原因是:&&時(shí)判斷第一個(gè)條件為false,后面的100/0==0這個(gè)條件就沒(méi)有進(jìn)行判斷。

             &時(shí)要對(duì)所有的條件進(jìn)行判斷,所以會(huì)對(duì)后面的條件進(jìn)行判斷,所以會(huì)報(bào)錯(cuò)。

             ||和|都是表示“或”,區(qū)別是||只要滿足第一個(gè)條件,后面的條件就不再判斷,而|要對(duì)所有的條件進(jìn)行判斷。

看下面的程序:

  public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    if((23==23)||(100/0==0)){ 
      System.out.println("運(yùn)算沒(méi)有問(wèn)題。"); 
    }else{ 
   System.out.println("沒(méi)有報(bào)錯(cuò)"); 
    } 
  } 

此時(shí)輸出“運(yùn)算沒(méi)有問(wèn)題”。若將||改為|則會(huì)報(bào)錯(cuò)。

原因是:||判斷第一個(gè)條件為true,后面的條件就沒(méi)有進(jìn)行判斷就執(zhí)行了括號(hào)中的代碼,而|要對(duì)所有的條件進(jìn)行判斷,
所以會(huì)報(bào)錯(cuò)。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI