Java基本運算子
阿新 • • 發佈:2021-06-19
Java基本運算子
Java語言支援如下運算子:
- 算術運算子:+,-,*,/,%,++,--
- 賦值運算子=
- 關係運算符:>, <, >=, <=, ==, !=, instanceof
- 邏輯運算子:&&(與), ||(或), !
- 位運算子:&, |, ^, ~, >>, <<, >>>
- 條件運算子 ?:
- 擴充套件賦值運算子:+=, -=, *=, /=
long a = 123123123123123123l; int b = 123; short c = 12; byte d = 1; System.out.println(a+b+c+d);//long System.out.println(b+c+d);//int System.out.println(c+d);//int
輸出結果:
123123123123123259
136
13
拓展
++ 和 --
++:自增
--:自減
二者都是一元運算子
//++ --
int a = 2;
int b = a++;
int c = ++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
輸出結果:4 2 4
a++相當於 a = a + 1,是在執行完當前行程式碼後,再自增
++a也是 a = a + 1,但是++a是在執行當前行之前,就已經自增了
Math類
Math類是Java的一個工具類,它提供了很多數學運算方法
例如:Math.pow(3,2)相當冪次運算3^2
位運算
位運算就是根據位進行運算
A = 0011 1100
B = 0000 1101
與運算:A&B = 0000 1100
或運算:A|B = 0011 1101
異或運算:A^B = 11001110
非運算:~B = 1111 0010
面試題:
2*8怎麼運算最快?(對於計算機):2<<3
二進位制中:
<< 相當於 *2
>> 相當於 /2
擴充套件運算子
a+=b 相當於 a = a+b
a-=b 相當於 a = a-b
面試題
System.out.println(""+a+b);
System.out.println(a+b+"");
上面兩行程式碼有什麼區別?
如過字串在前面,後面的則會拼接
如果字串再後面,依舊進行運算
三元運算子 ? :
x ? y : z
上面一行的程式碼意思為如果x==true,則結果為y,否則為z