複合運算符:
+=:把右邊的數值與變量的值相加後指派給變量。例如:int a=10; a+=10;此時a的值為20,和 a=a+10;的意思是一樣的。
-=:把右邊的數值與變量的值相減後指派給變量。例如:int a=10; a-=10;此時a的值為0,和 a=a-10;的意思是一樣的。
*=:把右邊的數值與變量的值相乘後指派給變量。例如:int a=10; a*=10;此時a的值為100,和int a=a*10;的意思是一樣的。
/=:把右邊的數值與變量的值相減後指派給變量。例如:int a=10; a/=10;此時a的值為1,和a=a/10;的意思是一樣的。
%=:把右邊的數值與變量的值相減後指派給變量。例如:int a=10; a%=10;此時a的值為0,和 a=a%10;的意思是一樣的。
這種寫法可讀性不是很好,是以一般用得少,隻是一種簡寫的方式。
關系運算符:
>:用于比較一個值是否為大于另一個值的關系,是則傳回結果為真(true),不是則傳回結果為假(false)。例如:
<a href="https://s2.51cto.com/wyfs02/M01/9E/3F/wKioL1mOWvixdA5QAAQx9e_zJDY765.png-wh_500x0-wm_3-wmp_4-s_588329200.png" target="_blank"></a>
<:用于比較一個值是否為小于另一個值的關系,是則傳回結果為真(true),不是則傳回結果為假(false)。例如:
<a href="https://s1.51cto.com/wyfs02/M00/9E/3F/wKioL1mOWvuxbzaaAAQLqyPsj7g981.png-wh_500x0-wm_3-wmp_4-s_3630812737.png" target="_blank"></a>
>=:用于比較一個值是否為大于或等于另一個值的關系,是則傳回結果為真(true),不是則傳回結果為假(false)。例如:
<a href="https://s1.51cto.com/wyfs02/M02/9E/50/wKiom1mOWv2B9hUUAAPD1R5tDuQ493.png-wh_500x0-wm_3-wmp_4-s_4154333210.png" target="_blank"></a>
<=:用于比較一個值是否為小于或等于另一個值的關系,是則傳回結果為真(true),不是則傳回結果為假(false)。例如:
<a href="https://s3.51cto.com/wyfs02/M02/9E/3F/wKioL1mOWv_iPzeDAAOnW33B9TQ638.png-wh_500x0-wm_3-wmp_4-s_3554212814.png" target="_blank"></a>
==:用于比較一個值是否為等于另一個值的關系,是則傳回結果為真(true),不是則傳回結果為假(false)。例如:
<a href="https://s5.51cto.com/wyfs02/M00/9E/50/wKiom1mOWwOj7BwQAAQETEO9rM8805.png-wh_500x0-wm_3-wmp_4-s_2644841590.png" target="_blank"></a>
!=:用于比較一個值是否為不等于另一個值的關系,是則傳回結果為真(true),不是則傳回結果為假(false)。例如:
<a href="https://s1.51cto.com/wyfs02/M01/9E/3F/wKioL1mOWwfT7mvSAAQ3gzbNe_g339.png-wh_500x0-wm_3-wmp_4-s_564323265.png" target="_blank"></a>
關系運算符主要用于各種變量值的值與值之間的關系比較,就像生活中經常會比較薪資是否大于或小于八千,身高是否大于等于一米七,這個人是否等于有車有房之類的,也是關系比較的運用。例如:
<a href="https://s5.51cto.com/wyfs02/M00/9E/3F/wKioL1mOW5zD_UaWAAgj-0F1Iaw783.png-wh_500x0-wm_3-wmp_4-s_2797543017.png" target="_blank"></a>
邏輯運算符:
&&:與,是同時的意思:比較兩方的值是否都為true,隻要有一方的值為false結果就為false。例如:
A B 結果
true && false false
false && true false
true && rue true
false && false false
||: 或,是或者的意思:比較兩方的值是否有一方為true,隻要有一方的值為true結果就為true。例如:
A B 結果
true || false true
false || true true
True || true true
false || false false
!: 非,是取反的意思:隻要是值為true的結果就為false,值為false的結果就為true。就是反過來的意思。例如:
A !A結果
true ! false
false ! true
用&&運算符時前面的值為true,則後面的還繼續運作看看是否true,如果前面為false則後面不在再運作,因為條件已經不成立了。
用||運算符時前面的值為true,後面的就不再運作,因為條件已經成立了;如果前面為false,則後面繼續運作看看是否為true或false。
位運算符:
計算機最小的機關是位,位運算符是針對位進行運算的。
&:與,兩方都為1才為1,一方為0則為0;例如:
0000 0000 0000 0000 0000 0000 0000 0111
0000 0000 0000 0000 0000 0000 0001 0111
結果:
|:或,一方為1則為1,兩方都為0才為0;例如:
0000 0000 0000 0000 0000 0000 0001 0101
0000 0000 0000 0000 0000 0000 1001 0111
~:非,取反,0取反為1 , 1取反為0;例如
結果
1111 1111 1111 1111 1111 1111 0110 1000
^:異或,類似于不等于,兩方都為1就為0,兩方為0還是為0,
兩方都不為1都不為0才為1;例如:
0000 0000 0000 0000 0000 0000 1000 0010
>>:右移,往右移動兩位,負數高位補1,正數高位補0;例如:
正數:6>>2
0000 0000 0000 0000 0000 0000 0000 0110
0000 0000 0000 0000 0000 0000 0000 0001
負數:-6>>2
1111 1111 1111 1111 1111 1111 1111 1010
1111 1111 1111 1111 1111 1111 1111 1110
<<:左移,往左移動兩位,正數負數都是末位補0;例如:
正數:6<<2
0000 0000 0000 0000 0000 0000 0001 1000
負數:-6<<2
1111 1111 1111 1111 1111 1111 1110 1000
>>>:無符号右移,向右移動兩位,正數負數都是高位補0,例如:
正數:6>>>2
負數:-6>>>2
0011 1111 1111 1111 1111 1111 1111 1110
總結:
1.複合運算符在開發上能起到簡寫代碼的作用,并且不會發生資料類型轉換的一些錯誤,但是由于這種寫法可讀性比較差,是以一般團隊開發中不常用。
2.關系運算符是經常用到的運算符也是比較重要的運算符,因為程式中需要進行很多比較、判斷條件來确認程式是否繼續執行或執行哪一塊。就像生活中你對手機螢幕尺寸的條件要求是不能大于5英寸,螢幕分辨率不能小于1080*920等,這些都是類似于關系運算符在代碼中的作用。
3.邏輯運算符也是經常用到的運算符,是需要掌握好的一個知識點,因為有時候程式中會需要用到多重條件來進行判斷,這些個條件成立則繼續運作,不成立則跳出或者執行另一片代碼。就像平時生活中去買菜一樣,你要求這個菜要同時等于新鮮和便宜才會買否則不買或買其他的;買車你會要求小于等于20萬或等于預算資金,其中一個條件滿足你才會買,否則也是不買或買其他的;這些都是多個條件的判斷。
4.位運算符主要是針對位的一個運算,在項目開發中基本不怎麼用得上, 除非在很小的存儲器、微機、單片機裡面進行的開發,不過稍微學習一下倒是能夠增加對二進制的一些了解。
本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1955676,如需轉載請自行聯系原作者