千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java

總結(jié):運(yùn)算符 P27~P34
1.算數(shù)運(yùn)算符
算數(shù)運(yùn)算符:兩個(gè)操作數(shù)進(jìn)行計(jì)算
- + 加、求和,數(shù)字相加,結(jié)果的數(shù)據(jù)類型是兩邊范圍較大的那一類。
- - 減、求差,數(shù)字相減。
- * 乘、求積,數(shù)字相乘。
- / 除、求商,數(shù)字相除,結(jié)果為整數(shù),小數(shù)部分會(huì)被直接舍棄
- % 模、求余,兩個(gè)數(shù)相除的余數(shù)。
一元運(yùn)算符:只有一個(gè)操作數(shù)
- ++ 遞增,變量值+ 1
++ 在前 先加一后使用
++ 在后 先使用后加一
例:int num = 1;
int num2 = 2;
System.out.println(num++); // 1
System.out.println(++num2); // 3
- -- 遞減,變量值-1
-- 在前 先減一后使用
-- 在后 先使用后減一
例:int num = 1;
int num2 = 2;
System.out.println(num++); // 1
System.out.println(++num2); // 1
2.賦值運(yùn)算符
賦值運(yùn)算符:等號(hào)右邊賦值給等號(hào)左邊。賦值兩邊的數(shù)據(jù)類型要對(duì)應(yīng)
- = 直接賦值
- += 求和后賦值 (常用)
- -= 求差后賦值
- *= 求積后賦值
- /= 求商后賦值
- %= 求余后賦值
例:int a = 1; // 賦值運(yùn)算符
int b = 2; // 賦值運(yùn)算符
a += b; // a = a + b; 求和后賦值
a -= b; // a = a - b; 求差后賦值
a *= b; // a = a * b; 求積后賦值
a /= b; // a = a / b; 求商后賦值
a %= b; // a = a % b; 求余后賦值
3.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符:兩個(gè)操作數(shù)進(jìn)行比較
關(guān)系運(yùn)算的結(jié)果: 布爾值,即true,false
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
- == 等于
- != 不等于
4.邏輯運(yùn)算符
邏輯運(yùn)算符:兩個(gè)boolean類型的操作數(shù)或表達(dá)式進(jìn)行邏輯比較
- & 邏輯與;只有兩邊都是true,邏輯運(yùn)算的結(jié)果才是true,只要有一邊是false,那么結(jié)果一定是false

當(dāng)輸入的年齡在大于18并且小于等于35的時(shí)候,會(huì)輸出你成年了。反之則會(huì)
- | 邏輯或;只要有一個(gè)true,那么結(jié)果就是true
- ^ 異或;只有運(yùn)算符兩邊的表達(dá)式的布爾值結(jié)果不相同,才會(huì)得到true,否則一定是false
例:boolean a = true;
boolean b = false;
System.out.println(a^b); // 結(jié)果為true
- ! 非 (取反) 真即是假,假即是真
例:boolean a = true;
System.out.println(!a); // 結(jié)果為false
- && 短路與;與邏輯與相同的運(yùn)算邏輯,在左邊的表達(dá)式是false的情況下,就不會(huì)執(zhí)行右邊的表達(dá)式,因?yàn)檫@個(gè)結(jié)果一定是false (性能更好)
- || 短路或;與邏輯或相同的運(yùn)算邏輯,在左邊的表達(dá)式是true的情況下,就不會(huì)執(zhí)行右邊的表達(dá)式,因?yàn)檫@個(gè)結(jié)果一定是true(性能更好)
5.三元運(yùn)算符
- ? :
結(jié)果 = 布爾表達(dá)式?返回結(jié)果1: 返回結(jié)果2;
當(dāng)表達(dá)式結(jié)果為true時(shí),執(zhí)行結(jié)果1
當(dāng)表達(dá)式結(jié)果為false時(shí),執(zhí)行結(jié)果2
注意:結(jié)果的數(shù)據(jù)類型,一定要和返回的內(nèi)容的數(shù)據(jù)類型相同。返回的結(jié)果1和結(jié)果2的數(shù)據(jù)類型必須相同
例:int a = 1;
int b = 2;
String result = a>b?"a大":"b大";
結(jié)果為:b大
6.位運(yùn)算符
位運(yùn)算:運(yùn)算符兩邊如果不是布爾值表達(dá)式,而是數(shù)值,那么此時(shí)就是位運(yùn)算。
- & 按位與 如果相對(duì)應(yīng)位都是1,則結(jié)果為1,否則為0
例: int a = 6;
int b = 4;
System.out.println(a&b) // 位運(yùn)算 結(jié)果為:4
- | 按位或 如果相當(dāng)應(yīng)位都是0,則結(jié)果為0,否則為1
例: int a = 6;
int b = 4;
System.out.println(a | b) // 位運(yùn)算 結(jié)果為:6
- ^ 按位異或 ;如果相對(duì)應(yīng)值相同,則結(jié)果為0,否則為1
例: int a = 6;
int b = 4;
System.out.println(a ^ b) // 位運(yùn)算 結(jié)果為:2
- ~ 取反;按位取反符,即0變成1,1變成0
例: int a = 6;
System.out.println(~a) // 位運(yùn)算 結(jié)果為:-7
- << 有符號(hào)的左移
例:int a = 6;
System.out.println(a<<3) // 結(jié)果為48; 相當(dāng)于 a*2^3
- >> 有符號(hào)的右移 如果是負(fù)數(shù),高位補(bǔ)1,如果是正數(shù)高位補(bǔ)0
例1:int a = 6;
System.out.println(a>>3) // 結(jié)果為0; 相當(dāng)于 a/2^3
例2:int a = -7;
System.out.println(a>>2) // 結(jié)果為-2;
- >>> 無(wú)符號(hào)右移 二進(jìn)制數(shù)據(jù)整體右移,符號(hào)位補(bǔ)0
7.運(yùn)算符的優(yōu)先級(jí)及字符串連接符

字符串連接符 (+ 加號(hào))
當(dāng)運(yùn)算符的兩邊只要有一個(gè)是字符串,那么此時(shí)這個(gè)+就是字符串連接符,會(huì)把另一邊變成字符串進(jìn)行拼接,連接完好是一個(gè)新的字符串。
