當前位置:首頁 » 編程語言 » java邏輯或運算

java邏輯或運算

發布時間: 2022-09-21 07:34:04

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邏輯運算符都有哪些

邏輯運算符包括 &&、||、!。其中 && 和 || 是雙目運算符,實現邏輯與、邏輯或;!是單目運算符,實現邏輯非。

邏輯運算符的優先順序為:!運算級別最高,&& 運算高於 || 運算。!運算符的優先順序高於算術運算符,而 && 和 || 運算則低於關系運算符。結合方向是:邏輯非(單目運算符)具有右結合性,邏輯與和邏輯或(雙目運算符)具有左結合性。

(2)java邏輯或運算擴展閱讀:

邏輯運算符的示例。

x>0 && x<=100 //第一行語句

y%4==0 || y%3==0 //第二行語句

!(x>y) //第三行語句

其中,第一行語句用於判斷 x 的值是否大於 0 且小於或等於 100,只有兩個條件同時成立結果才為真(true)。

第二行語句用於判斷 y 的值是否能被 4 或者 3 整除,只要有一個條件成立,結果就為真(true)。

第三行語句先比較 x 和 y,再將比較結果取反,即如果 x 大於 y 成立,則結果為假(false),否則為真(true)。

㈢ java邏輯運算符作用

一般如果要判斷兩個條件時用&&連接:

如:

if(i<10&&i>0)表示如果變數i的值即大於0,且小10,就執行下面的代碼。

boolean ok = false;

if(!ok)

{

System.out.println("ok");

}

//結果會列印ok;

if(!End)return;和if(End==false)return

if(End)return;和if(End==true)return;是一個意思。

(3)java邏輯或運算擴展閱讀:

運算符指明對操作數的運算方式。組成表達式的Java操作符有很多種。運算符按照其要求的操作數數目來分,可以有單目運算符、雙目運算符和三目運算符,它們分別對應於1個、2個、3個操作數。運算符按其功能來分,有算術運算符、賦值運算符、關系運算符、邏輯運算符、位運算符和其他運算符。

㈣ java中的短路與(&&)、短路或(||) 與 邏輯與(&)、邏輯或(|)有什麼區別啊

首先名稱是不同的:


&&邏輯與||邏輯或它們都是邏輯運算符



&按位與|按位或它們都是位運算符



if(a==1&&b==2)這是說既要滿足a=1也要滿足b=2



if(a==1||b==2)這是說或者滿足a=1或者要滿足b=2



而a&b或者a|b則是二進制的與或運算



&同為1時為1,否則為0



|同為0時為0,否則為1



3&5則



0011



&0101



0001



等於1
3|5則



0011



|0101



0111



等於7



&&邏輯與也叫做短路與因為只要當前項為假,它就不往後判斷了,直接認為表達式為假

||邏輯或也叫做短路或因為只要當前項為真,它也不往後判斷了,直接認為表達式為真

㈤ java 邏輯運算

在java中
|
是位運算符,表示"或"
只能用於二進制位的操作
比如:byte
b
=
10011001
|
00101110
b等於10111111(191)
^也是位運算符,表示"異或",也是用於二進制數的操作,
0^0=0
0^1=1
1^1=0
1^0=1
&也是位算符,表示"與"
所以flag必須是二進制數才能進行運算
&&
表示與
||表示或
都屬於邏輯運算符
比如:if(a==b
||
a==c)
表示a==b
或者
a==c
這兩個條件只需滿足一個
if(a==b
&&
a==c)
表示a==b
並且一定要滿足a==c兩個條件

㈥ 在java中,邏輯運算符|和||之間有什麼區別嗎

其實他們之間有一個很大的差別:短路
舉個例子來解釋一下吧,
false&true-->false
false&&true-->false
單從結果上看,他們結果是一樣的,都是false
但是前者在運行的時候,計算機首先判斷第一個條件為false,然後判斷第二個條件true,然後判斷出結果為false
而後者,首先也是判斷第一個條件,當判斷出為false時,程序立即終止,因為不管第二個條件是什麼,結果一定為false
這就是他們之間的區別
希望我的回答能對你有所幫助

㈦ JAVA中&&和||是什麼意思怎麼用

&&可以用作邏輯與的運算符,表示邏輯與(and),當運算符兩邊的表達式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,例如,對於if(str
!=
null
&&
!str.equals(「」))表達式,當str為null時,後面的表達式不會執行,所以不會出現NullPointerException
||可以作邏輯或運算符,表示邏輯或(or),當運算符有一邊為true時,整個運算結果為true!

㈧ java 中 || ,&&是什麼意思

  • &&是邏輯與的意思。只要第一個條件不滿足,後面條件就不再判斷

例如:

publicclassTest{

publicstaticvoidmain(String[]args){

if((5==6)&&(100/0==0)){
System.out.println("運算沒有問題。");
}else{
System.out.println("沒有報錯");
}

}
}

運行結果:

熱點內容
路虎攬運配置怎麼查詢 發布:2025-01-11 03:42:51 瀏覽:393
仿站源碼 發布:2025-01-11 03:42:05 瀏覽:39
騰訊的雲伺服器 發布:2025-01-11 03:40:47 瀏覽:569
百分之十的演算法 發布:2025-01-11 03:34:30 瀏覽:642
java16進制tostring 發布:2025-01-11 03:24:21 瀏覽:721
mql4c語言 發布:2025-01-11 03:24:20 瀏覽:255
科爾訪問蘇聯 發布:2025-01-11 03:15:47 瀏覽:331
python簡單計算器 發布:2025-01-11 03:15:13 瀏覽:577
python絕對路徑 發布:2025-01-11 03:10:55 瀏覽:759
優衣庫壓縮 發布:2025-01-11 03:06:36 瀏覽:354