javaand運算
㈠ java中&什麼意思
&是位於運算,當它的左右是兩個int類型數時,要將它們轉化為二進制進行位於運算(即將兩個二進制數上的每一位進行 且 運算 )
如:4&3 轉化為4位二進制為 0100&0011 執行結果為 0000
7&3 : 0111&0011 執行結果為 : 0011
當兩個用到 && 時表示邏輯運算, 它的左右必須為兩個布爾值 (常用於if 或循環的判斷條件)
如: x < 4 && x != 0 表示的邏輯為x小於4且不等於0
㈡ java里的&&,||和!()什麼意思,還有==和=又什麼區別
&&: 是邏輯運算符,代表與(就是並且),條件都成立,返回值是 true,否則 FALSE
||: 是邏輯運算符,代表或(就是或者),條件中有一者成立,返回值是 true
否則 false
!():是邏輯運算符,代表非(就是取反),把真的變成假的,或者把假的變成真的
==: 比較運算符,判斷是否相等
=: 賦值運算符,例: i = 10;
㈢ java 邏輯運算
在Java中,邏輯運算有And、Or、Not三種,其中And、Or又分為普通邏輯運算和短路邏輯運算兩種。其中普通邏輯運算And用「&」表示,「|」表示或者關系。短路邏輯運算的時候,「&&」表示短路與,「||」表示短路或。
1、一般邏輯運算需要在邏輯運算符兩側的邏輯表達式,都參與邏輯運算,其表達式的值進行比較,依次計算出最後的值。
2、短路邏輯運算符需要首先計算最左邊的表達式,如果最左邊的表達式成立,則不再進行整個表達式的判斷,直接取最左邊的表達式為整個表達式的值。
下面的例子雖然輸出的值一樣,但是運算的方式不一樣:
private void testAnd(boolean on ,boolean
tw){
System.out.println("true&&false = "+
(true&&false));
System.out.println("false&&false = "+
(false&&false));
System.out.println("false&&true = "+
(false&&true));
System.out.println("true&&true = "+
(true&&true));
System.out.println(" ");
System.out.println("true&false = "+ (true&false));
System.out.println("false&false = "+
(false&false));
System.out.println("false&true = "+ (false&true));
System.out.println("true&true = "+ (true&true));
System.out.println(" ");
System.out.println("true||false = "+ (true||false));
System.out.println("false||false = "+
(false||false));
System.out.println("false||true = "+ (false||true));
System.out.println("true||true = "+
(true||true));
System.out.println(" ");
System.out.println("true|false = "+ (true|false));
System.out.println("false|false = "+
(false|false));
System.out.println("false|true = "+ (false|true));
System.out.println("true|true = "+
(true|true));
}
輸出結果為:
短路或「&&」只有在左邊的表達式值為true時,才會考慮右邊表達式的值,否則直接取左邊的值為整個表達式的值;
true&&false = false
false&&false = false
false&&true = false
true&&true =
true
//全部計算表達式兩面的值,然後取值運算;
true&false = false
false&false = false
false&true = false
true&true =
true
短路或「||」只有在左邊的表達式值為false時,才會考慮右邊表達式的值,否則直接取左邊的值為整個表達式的值;
true||false =
true
false||false = false
false||true = true
true||true = true
普通或"|"全部計算表達式兩面的值,然後得出結果
true|false = true
false|false = false
false|true = true
true|true = true
適用短路運算的條件
1)、表達式前後的邏輯條件有明顯的順序關聯關系,順序條件早的在表達式的左邊;
2)、邏輯運算符比較少,不會有嵌套或者短路與非短路邏輯混合的情況;
3)、使用短路運算,必須清楚的明白所要判斷的邏輯值的具體細節;
4)、如果"&&"和"||"混用,則不考慮使用短路運算;
㈣ java中&和&&是怎麼運算的
& 和 && 相同點:
都表示「與」操作。這里的「與」和數學中的「與或非」中的「與」意義相同,都遵循「一假必假」原則。即「與」符號兩邊的元素只要有一個為假,"與"操作執行後的結果就為假。
& 和 && 的區別:
1)& 表示「按位與",這里的」位「是指二進制位(bit)。
例:十進制數字8 轉化為二進制是:1000 ;數字9 轉化為二進制是1001 。
則如有以下程序:
public class Test {
public static void main(String[] args) {
System.out.println(9 & 8);
}
}
輸出結果應該是:8
原因:1001 & 1000 = 1000 。 計算機中一般1表示真,0表示假。最左邊一位1&1=1,最右邊一位1&0 = 0.
2) && 表示邏輯」與「 ,即java中的boolean值才可以存在於&&符號的左右兩側。
true && false = false ,true && true = true , 依舊是"一假必假"。
值的注意的是:&& 符號有所謂的「短路原則」,當 A && B 出現時,如果A經判斷是假,那麼B表達式將不會獲得執行或被判斷的機會。直接結果就為假。
註:關於十進制與二進制的轉換,簡單的說每四位可以遵循」8421「原則,1001即8+1=9,1011即8+2+1=11
㈤ java中&和&&的區別
java中的&&具有「短路」現象,也就是說,當&&左邊的表達式為假時,就不再計算剩餘的&&右邊的值是否為真。而&則不同,就算&&左邊的表達式是假,它還是會計算&右邊的表達式。
而||和|也是一樣道理的。
希望我的回答能給你點幫助。謝謝
㈥ JAVA中&&和||是什麼意思怎麼用
JAVA中&&意思是「條件與」邏輯操作符,使用方法是x&&y,功能描述:x和y均為true,取值是true,否則取值是false。
JAVA中||意思是「條件或」邏輯操作符,使用方法是x||y,功能描述:x和y有一個為true,取值是true,否則取值是false。
(6)javaand運算擴展閱讀:
JAVA語言中進行邏輯表達式求值運算時,不但要注意邏輯運算符本身的運算規則,而且還必須從最左邊一個計算部分開始,按照邏輯運算的規則計算該部分的值。每計算完一個部分就與該部分右邊緊靠著的邏輯運算符根據真值表進行邏輯值判斷。
在邏輯表達式的求解過程中,任何時候只要邏輯表達式的值已經可以確定,則求解過程不再進行,求解結束。
參考資料來源:
網路——&&
網路——||