java中和的區別
1. java中,&&和&以及|和||的區別
JAVA中&&意思是「條件與」邏輯操作符,使用方法是x&&y,功能描述:x和y均為true,取值是true,否則取值是false。
JAVA中||意思是「條件或」邏輯操作符,使用方法是x||y,功能描述:x和y有一個為true,取值是true,否則取值是false。
(1)java中和的區別擴展閱讀:
JAVA語言中進行邏輯表達式求值運算時,不但要注意邏輯運算符本身的運算規則,而且還必須從最左邊一個計算部分開始,按照邏輯運算的規則計算該部分的值。每計算完一個部分就與該部分右邊緊靠著的邏輯運算符根據真值表進行邏輯值判斷。
在邏輯表達式的求解過程中,任何時候只要邏輯表達式的值已經可以確定,則求解過程不再進行,求解結束。
參考資料來源:
網路——&&
網路——||
2. Java中「||」與「|」的區別
區別一:
定義不同:
||和|都是表示「或」,區別是||只要滿足第一個條件,後面的條件就不再判斷,而|要對所有的條件進行判斷。
區別二:
與操作和或操作的區別
(1)在Java程序中,使用與操作,要求所有表達式的判斷結果都是TRUE,才為真,若有一個為FALSE,那麼最終判斷結果則為FALSE
(2)使用或操作,只要其中有一個表達式為TRUE,那麼最終的結果就為TRUE,只有當所有的表達式為FALSE時最終結果才為FALSE
區別三:
實際含義不同:
「||」: 如果左邊計算後的操作數為true,右邊則不再執行,返回true;
「|」:前後兩個操作數都會進行計算。也就是說:「|」不存在短路。
區別四:
舉例說明
1、當使用|時,若前面的表達式為真時,程序會繼續執行後面的表達式,然後在得出TRUE的結果,代碼如下:
結果如下:結果為真
1
2、當使用||(短路或)時,若前面的表達式結果為真,則程序不會再執行後面的表達式,直接得出TRUE的結果,代碼如下:
結果如下:結果為假
0
3. 在java中=和==的區別
Java中=是賦值運算,
而==判斷值是否相等,
===是判斷的是值及類型是否完全相等,而===只在JavaScript中有
比如
a=b 就是把b的值賦予給a;
a==b 就是判斷a等於b
1.下面是判斷==運算符比較的兩個值是否相等的判斷條件:
1.如果兩個值具有相同的類型,那麼就檢測它們的等同性。如果這兩個值完全相同,它們就相等。如果它們不完全相同,則它們不相等。
2.如果兩個值的類型不同,它們仍然可能相等。用下面的規則和類型轉換來檢測它們的相等性:
01.如果一個值是null,另一個值是undefined,它們相等。
02.如果一個值是數字,另一個值是字元串,把字元串轉換為數字,再用轉換後的值進行比較。
03.如果一個值為true,將它轉化為1,再進行比較。如果一個值為false,把它轉化為0,再進行比較。
04.如果一個值是對象,另一個值是數字或字元串,將對象轉換成原始類型的值,再做比較。可以使用對象的toString()方法或 valueOf()方法把對象轉化成原始類型的值。JavaScript核心語言的內部類通常先嘗試valueOf()方法轉換,再嘗試toString()方法轉換,但是對於Date類,則先執行toString()方法再執行valueOf()方法轉換。不屬於JavaScript核心語言的對象則可以採用 JavaScript實現定義的方式把自身轉換成原始數值。
05.其他的組合,不相等。
2.下面是判斷===比較的兩個值是否相等的判斷條件:
1.如果兩個值的類型不同,它們就不相同。
2.如果兩個值是數字,而且值相同,除非其中一個或兩個都是NaN(這種情況它們不是等同的),否則它們是等同的。值NaN永遠不會與其他任何值等同,包括它自身,要檢測一個值是否是NaN,可以使用全局函數isNaN()。
3.如果兩個值都是字元串,而且在字元串中同一位置上的字元完全相同,那麼它們就完全等同。如果字元串的長度或內容不同,它們就不是等同的。
4.如果兩個值都是布爾型true,或者兩個值都是布爾型false,那麼它們等同。
5.如果兩個值引用的是同一個對象、數組或函數,那麼它們完全等同。如果它們引用的是不同的對象(數組或函數),它們就不完全等同,即使這兩個對象具有完全相同的屬性,或兩個數組具有完全相同的元素。
6.如果兩個值都是null或都是undefined,它們完全相同。
希望對您有所幫助!~
4. java中>> 和 >>>的區別,為什麼沒有<<<
一、>> 和 >>>的區別就是有無符號的區別:
右移運算符>>(有符號)
用來將一個數的各二進制位全部右移若干位.例如:a = a>>2,使a的各二進制位右移兩位,移到右端的低位被舍棄,最高位則移入原來高位的值。如:a = 00110111,則a>>2=00001101,b=11010011,則b>>2 = 11110100。
無符號右移運算符>>>
用來將一個數的各二進制位無符號右移若干位,與運算符>>相同,移出的低位被舍棄,但不同的是最高位補0,如a = 00110111,則a>>>2 = 00001101,b=11010011,則b>>>2 = 00110100。
二、沒有<<<符號沒有理由,Java的編寫規則就是這樣定的,
5. JAVA中雙與、雙或和單與、單或的區別是什麼
區別1:&
和
|
可用於bitwise
operation,即二進制運算,而&&和
||
不可以。
區別2:在邏輯運算時,&&
和
||
叫做short-circuit
logical
operator,
意思是先判定左側的邏輯值,如果可以決定結果則不再浪費時間去判定右側的邏輯值。例如(2<3)
||
(a*5+b/3-c>5),因為(2<3)是true,無論右側是true
or
false,結果都是true,
所以右側將不再進行判定。而&
和
|
則總會對兩側進行判定,稱為non-short-circuit
logical
operator.
6. java中「;」和「{」的區別
;是語句結束符號。
{是代碼塊或類型及方法的開始標記,代碼塊指方法中出現的做為一個整體的代碼的集合,如循環中出現的。
要說有共同之處,那就是它們都是JAVA語言中的標記。
7. JAVA中&&和&、||和|的區別
1、Java中&叫做按位與,&&叫做短路與,它們的區別是:
& 既是位運算符又是邏輯運算符,&的兩側可以是int,也可以是boolean表達式,當&兩側是int時,要先把運算符兩側的數轉化為二進制數再進行運算,而短路與(&&)的兩側要求必須是布爾表達式。舉例如下:
12&5 的值是多少?答:12轉成二進制數是1100(前四位省略了),5轉成二進制數是0101,則運算後的結果為0100即4 這是兩側為數值時;
若 int i = 2,j = 4;則(++i==2)&(j++==4)的結果為false,其過程是這樣的:先判斷++i=2是否成立,這里當然是不成立了(3 == 2),但是程序還會繼續判斷下一個表達式是否成立,j++==4 ,該表達式是成立的,但是&運算符要求運算符兩側的值都為真,結果才為真,所以(++i==2)&(j++==4)的結果為 false 注意 :&為真的條件是兩側表達式都為真,但是即使我們判斷出左側表達式的值為false,程序也還是要繼續執行去判斷右側的表達式值的真假
若 int i = 2,j = 4;則(++i==2)&&(j++==4)的結果為false,其過程基本上和上面的是相同的,但是若左側表達式的值為false時,程序則不會繼續判斷右側表達式的真假了,短路與中,短路這個詞大概也就是這個意思吧
2、Java中『|』與『||』的區別
int i=0;
if(3>2 || (i++)>1) i=i+1;
System.out.println(i);
這段程序會列印出1,而不是列印出2。
因為在if的條件判斷中,程序先判斷第一個表達式3>2是否成立,結果3>2為真,那麼按照邏輯來說,無論後面一個表達式(i++)>1是否成立,整個或表達式肯定為真,因此程序就不去執行判斷後面一個表達式即(i++)>1了,所以這里i並沒有自增1。然後程序執行到i=i+1,於是i變為1。最後列印出1。
int i=0;
if(3>2 | (i++)>1) i=i+1;
System.out.println(i);
如果換做這樣寫,那麼就是列印出2了,因為無論第一個條件3>2是否為真,程序都會去執行判斷第二個條件表達式,因此i++這個自增是會被執行的,再加上if內的i=i+1,所以最終i=2。
有些人習慣把||叫做短路或,把&&叫做短路與。&&和&的區別和||與|的區別類似,對於&&來說,如果前面的條件表達式已經為假了,整個條件表達式肯定為假,就不會去執行判斷後面的條件表達式。
8. java中&和&&的區別
java中的&&具有「短路」現象,也就是說,當&&左邊的表達式為假時,就不再計算剩餘的&&右邊的值是否為真。而&則不同,就算&&左邊的表達式是假,它還是會計算&右邊的表達式。
而||和|也是一樣道理的。
希望我的回答能給你點幫助。謝謝
9. java中.和的區別
java中沒有「===」號的比較,只有javascript中才有。
在javascript中:
先說 ===,這個比較簡單。下面的規則用來判斷兩個值是否===相等:
1、如果類型不同,就[不相等]
2、如果兩個都是數值,並且是同一個值,那麼[相等];(!例外)的是,如果其中至少一個是NaN,那麼[不相等]。(判斷一個值是否是NaN,只能用isNaN()來判斷)
3、如果兩個都是字元串,每個位置的字元都一樣,那麼[相等];否則[不相等]。
4、如果兩個值都是true,或者都是false,那麼[相等]。
5、如果兩個值都引用同一個對象或函數,那麼[相等];否則[不相等]。
6、如果兩個值都是null,或者都是undefined,那麼[相等]。
再說 ==,根據以下規則:
1、如果兩個值類型相同,進行 === 比較。
2、如果兩個值類型不同,他們可能相等。根據下面規則進行類型轉換再比較:
a、如果一個是null、一個是undefined,那麼[相等]。
b、如果一個是字元串,一個是數值,把字元串轉換成數值再進行比較。
c、如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。
d、如果一個是對象,另一個是數值或字元串,把對象轉換成基礎類型的值再比較。對象轉換成基礎類型,利用它的toString或者valueOf方法。js核心內置類,會嘗試valueOf先於toString;例外的是Date,Date利用的是toString轉換。非js核心的對象,令說(比較麻煩,我也不大懂)
e、任何其他組合,都[不相等]。