您好,登錄后才能下訂單哦!
在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ì)本站的支持!
免責(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)容。