java從零開始學(xué)六(運(yùn)算符)運(yùn)算符一、賦值運(yùn)算符號 int num=22; System.out.結(jié)果:
num= 22
num= 19
二、一元運(yùn)算符
| No. | 一元運(yùn)算符 | 描述 |
| 1 | + | 正號 |
| 2 | – | 負(fù)號 |
| 3 | ! | NOT,否 |
boolean flag=false; int x=10; //定義一個(gè)正數(shù) int y=-30; //定義一個(gè)負(fù)數(shù) System.out.println("x= "+x); System.out.println("y= "+y); System.out.println("flag= "+flag+"!b= "+!flag);結(jié)果:
x= 10y= -30flag= false !b= true
三、算術(shù)運(yùn)算符算術(shù)運(yùn)行符和數(shù)學(xué)中的用法一樣
| No. | 算術(shù)運(yùn)算符 | 描述 |
| 1 | + | 加法 |
| 2 | – | 減法 |
| 3 | * | 乘法 |
| 4 | / | 除法 |
| 5 | % | 取模(取余數(shù)) |
int i = 10; int j = 3; System.out.println(i+"+"+j +"="+(i+j)); //加法 System.out.println(i+"-"+j +"="+(i-j)); //減法 System.out.println(i+"*"+j +"="+(i*j)); //乘法 System.out.println(i+"/"+j +"="+(i/j)); //除法 System.out.println(i+"%"+j +"="+(i%j)); //取模求余數(shù)
結(jié)果:
10+3=1310-3=710*3=3010/3=310%3=1
四、關(guān)系運(yùn)算符| No. | 關(guān)系運(yùn)算符 | 描述 |
| 1 | > | 大于 |
| 2 | < | 小于 |
| 3 | >= | 大于等于 |
| 4 | <= | 小于等于 |
| 5 | == | 等于 |
| 6 | != | 不等于 |
五、自增與自減運(yùn)算符| No. | 自增與自減運(yùn)算符 | 描述 |
| 1 | ++ | 自增,變量值加1 |
| 2 | -- | 自減,變量值減1 |
int a=3,b=3; //定義整型變量a,b int x=6,y=6; //定義整型變量x,y System.out.println("a= "+a); //輸出變量a的值 System.out.println("a++="+(a++)+" a= "+a); //輸入a++和a++之后a的值3,4 System.out.println("b= "+b); System.out.println("++b="+(++b)+" b="+b); //值出++b,和++b之后b的值4,4 System.out.println("x= "+x); System.out.println("x--="+(x--)+" x= "+x); //輸出x--和x--之后x的值6,5 System.out.println("y= "+y); System.out.println("--y="+(--y)+" y="+y); //輸出--y和--y之后的值5,5六、邏輯運(yùn)算符| No. | 邏輯運(yùn)算符 | 描述 |
| 1 | & | AND,與 |
| 2 | && | 短路與 |
| 3 | | | OR,或 |
| 4 | || | 短路或 |
AND及 OR結(jié)果表| No. | 條件1 | 條件2 | 結(jié)果 |
| &&(與) | ||(或) |
| 1 | true | true | true | true |
| 2 | true | false | false | true |
| 3 | false | true | false | true |
| 4 | false | false | false | false |
- &&”與“&”
- &&表示短路與
- 對于“與”來說,要求所有的條件都判斷,而如果使用“短路與”如果第一個(gè)條件為false,則后面的條件將不再判斷。
- “||”與“|”
- ||表示短路或
- 對于“或”來說,要求所有的條件都判斷,而如果使用“短路或”如果第一個(gè)條件為true,則后面的條件將不再判斷。
七、括號運(yùn)算符| No. | 括號運(yùn)算符 | 描述 |
| 1 | () | 提高括號中表達(dá)式的優(yōu)先級 |
八、位運(yùn)算符| No. | 邏輯運(yùn)算符 | 描述 |
| 1 | & | 按位與 |
| 2 | | | 按位或 |
| 3 | ^ | 異或(相同為0,不同為1) |
| 4 | ~ | 取反 |
| 5 | << | 左移位 |
| 6 | >> | 右移位 |
| 7 | >>> | 無符號右移位 |
位運(yùn)算的結(jié)果表
| No. | 二進(jìn)制數(shù)1 | 二進(jìn)制數(shù)1 | 與操作(&) | 或操作(|) | 異或操作(^) |
| 1 | 0 | 0 | 0 | 0 | 0 |
| 2 | 0 | 1 | 0 | 1 | 1 |
| 3 | 1 | 0 | 0 | 1 | 1 |
| 4 | 1 | 1 | 1 | 1 | 0 |
九、運(yùn)算符的優(yōu)先級| 優(yōu)先級 | 運(yùn)算符 | 類 | 結(jié)合性 |
| 1 | () | 括號運(yùn)算符 | 由左至右 |
| 1 | [] | 方括號運(yùn)算符 | 由左至右 |
| 2 | !、+(正號)、-(負(fù)號) | 一元運(yùn)算符 | 由右至左 |
| 2 | ~ | 位邏輯運(yùn)算符 | 由右至左 |
| 2 | ++、-- | 遞增與遞減運(yùn)算符 | 由右至左 |
| 3 | *、/、% | 算術(shù)運(yùn)算符 | 由左至右 |
| 4 | +、- | 算術(shù)運(yùn)算符 | 由左至右 |
| 5 | <<、>> | 位左移、右移運(yùn)算符 | 由左至右 |
| 6 | >、>=、<、<= | 關(guān)系運(yùn)算符 | 由左至右 |
| 7 | ==、!= | 關(guān)系運(yùn)算符 | 由左至右 |
| 8 | &(位運(yùn)算符AND) | 位邏輯運(yùn)算符 | 由左至右 |
| 9 | ^(位運(yùn)算符號XOR) | 位邏輯運(yùn)算符 | 由左至右 |
| 10 | |(位運(yùn)算符號OR) | 位邏輯運(yùn)算符 | 由左至右 |
| 11 | && | 邏輯運(yùn)算符 | 由左至右 |
| 12 | || | 邏輯運(yùn)算符 | 由左至右 |
| 13 | ?: | 三目運(yùn)算符 | 由右至左 |
| 14 | = | 賦值運(yùn)算符 | 由右至左 |
十、簡潔表達(dá)式| No. | 運(yùn)算符 | 范例用法 | 說明 | 描述 |
| 1 | += | a += b | a + b的值存放到a中 | a = a + b |
| 2 | -= | a -= b | a - b的值存放到a中 | a = a - b |
| 3 | *= | a *= b | a * b的值存放到a中 | a = a * b |
| 4 | /= | a /= b | a / b的值存放到a中 | a = a / b |
| 5 | %= | a %= b | a % b的值存放到a中 | a = a % b |
簡潔表達(dá)式的范例| No. | 運(yùn)算符 | 范例 | 執(zhí)行前 | 說明 | 執(zhí)行后 |
| a | b | a | b |
| 1 | += | a += b | 12 | 3 | a + b的值存放到a中(同a = a + b) | 15 | 3 |
| 2 | -= | a -= b | 12 | 3 | a - b的值存放到a中(同a = a – b) | 9 | 3 |
| 3 | *= | a *= b | 12 | 3 | a * b的值存放到a中(同a = a * b) | 36 | 3 |
| 4 | /= | a /= b | 12 | 3 | a / b的值存放到a中(同a = a / b) | 4 | 3 |
| 5 | %= | a %= b | 12 | 3 | a % b 的值存放到a中(同a = a % b) | 0 | 3 |
| 6 | b++ | a *= b++ | 12 | 3 | a * b的值存放到a后,b加1(同a = a * b;b++) | 36 | 4 |
| 7 | ++b | a *= ++b | 12 | 3 | b加1后,再將a*b的值存放到a(同b++;a=a*b) | 48 | 4 |
| 8 | b-- | a *= b-- | 12 | 3 | a * b的值存放到a后,b減1(同a=a*b;b--) | 36 | 2 |
| 9 | --b | a *= --b | 12 | 3 | b減1 后,再將a*b的值存放到a(同b--;a=a*b) | 24 | 2 |