java逻辑运算符_Java逻辑运算符
Java邏輯運(yùn)算符
Java邏輯運(yùn)算符包含下面6中符號(hào):
&& 與 ;&& 與 ?前后兩個(gè)操作數(shù)必須都是true才返回true,否則返回false
& 不短路與 ;?& 不短路與 表達(dá)式都會(huì)執(zhí)行到
|| 或;?|| 或 只要兩個(gè)操作數(shù)中有一個(gè)是true,就返回true,否則返回false
|不短路或 ;| 不短路 或?表達(dá)式都會(huì)執(zhí)行到
!非;! 非 ,如果操作數(shù)為true,返回false,否則,返回true
^異或;^ 異或 ,當(dāng)兩個(gè)操作數(shù)不相同時(shí)返回true,返回false
真值表
A???? ?????????????? B???????????? ?????????????? A&&B????? A||B???????? !A ????????? A^B????????? A&B???????? A|B
false ????????????? false?????????????????????? false ?????? false ?????? true???????? false??????? false ???????? false
true ?????????????? false??????? ?????????????? false ????? true ???????? false??????? true ?? ??????false????????? true
false?????????????? true???????? ?????????????? false??????? true???????? true???????? true???????? false??????????true
true ? ? ? ? ? ? ? ? ? ? true ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?true ? ? ? ? ?? true ? ? ? ?? ? false ? ? ?? ? ?false ? ? ? ? ? ?true ? ? ? ? ? ?? true
總結(jié)
兩種邏輯與(&&和&)的運(yùn)算規(guī)則基本相同,兩種邏輯或(||和|)的運(yùn)算規(guī)則也基本相同。其區(qū)別是:&和|運(yùn)算是把邏輯表達(dá)式全部計(jì)算完,而&&和||運(yùn)算具有短路計(jì)算功能。所謂短路計(jì)算,是指系統(tǒng)從左至右進(jìn)行邏輯表達(dá)式的計(jì)算,一旦出現(xiàn)計(jì)算結(jié)果已經(jīng)確定的情況,則計(jì)算過程即被終止。對(duì)于&&運(yùn)算來說,只要運(yùn)算符左端的值為false,則因無論運(yùn)算符右端的值為true或?yàn)閒alse,其最終結(jié)果都為false。所以,系統(tǒng)一旦判斷出&&運(yùn)算符左端的值為false,則系統(tǒng)將終止其后的計(jì)算過程;對(duì)于 || 運(yùn)算來說,只要運(yùn)算符左端的值為true,則因無論運(yùn)算符右端的值為true或?yàn)閒alse,其最終結(jié)果都為true。所以,系統(tǒng)一旦判斷出|| 運(yùn)算符左端的值為true,則系統(tǒng)將終止其后的計(jì)算過程。
例如,有如下邏輯表達(dá)式:
(i>=1) && (i<=100)
此時(shí),若i等于0,則系統(tǒng)判斷出i>=1的計(jì)算結(jié)果為false后,系統(tǒng)馬上得出該邏輯表達(dá)式的最終計(jì)算結(jié)果為false,因此,系統(tǒng)不繼續(xù)判斷i<=100的值。短路計(jì)算功能可以提高程序的運(yùn)行速度。
建議:在程序設(shè)計(jì)時(shí)使用&&和||運(yùn)算符,不使用&和|運(yùn)算符。
用邏輯與(&&)、邏輯或(||)和邏輯非(!)可以組合出各種可能的邏輯表達(dá)式。邏輯表達(dá)式主要用在 if、while等語句的條件組合上。
例如:
int i = 1;
while(i>=1) && (i<=100) i++;??? //循環(huán)過程
上述程序段的循環(huán)過程將i++語句循環(huán)執(zhí)行100次。
例子
if((23>24)&&(100/0==0)){//23>24 為false,后面條件就不執(zhí)行判斷,當(dāng)23<24為true,后面條件繼續(xù)執(zhí)行判斷,拋出異常java.lang.ArithmeticException: / by zero
}
if((23>24)&(100/0==0)){//條件必須都執(zhí)行判斷,拋出異常java.lang.ArithmeticException: / by zero
}
if((23<24)||(100/0==0)){// ||短路或,當(dāng)?shù)谝粋€(gè)條件為true,后面條件不執(zhí)行判斷;
}
if((23>24)|(100/0==0)){// | 非短路或,所有條件都要執(zhí)行判斷
}
例子二
版權(quán)聲明:本文為JAVASCHOOL原創(chuàng)文章,未經(jīng)本站允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的java逻辑运算符_Java逻辑运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是信使费
- 下一篇: 股票资金动向红色代表什么