java 1%10_Java 操作符与运算符详解
一.賦值操作符
1 有哪些賦值操作符
2 需要注意的地方
1)
a+=b; ==> a = a+b;
a-=b; ==>a = a-b;
a =-b;//注意這里-不要寫在=的后面
2)
short s = 7;
s = s+3;//出錯,在作算術運算的時候,會將小類型提升為大類型運算
s += 3;//沒有任何問題
說明:
E1 op= E2; a += 3;
編譯器會將它編譯成=> E1 =(T)(E1 op E2);
s+=3 => s = (short)(s+3);
二.算術運算符
注意的地方
int i = 8/3;// i得到2 ,不是2.333333333
int i = 8/0; //編譯沒問題,運行出錯,整型相除,0不能作為除數
double d = 8.0/0; //沒問題,得到正無窮大
double d = 8/0;//整型相除,0不能作為除數
int i = 8%3; //余2,i就是2
請各個位數之和:
//求各個位數之和
int i = 9829;
//得到各位數
int geWei = i/1%10;
int shiWei = i/10%10;
int baiWei = i/100%10;//38
int qianWei = i/1000%10;
三.自加自減
自加 ++
自減 --
a++ => a=a+1;
++a => a=a+1;
a-- => a=a-1;
--a => a=a-1;
----------------
需要注意的地方
1)單獨出現時,a++和++a都是一樣的
2)參與一個完整表達式的時候,此時就區別
int a = 9;
int m = a++; //先用后加 m9 a10
int a = 9;
int n = ++a; //先加后用 n10 a10
四.關系操作符
1 包括
注意:比較運算符都是返回boolean的值,主要用于條件語句和循環語句的判斷。
什么叫表達式:
操作符與操作數組成的式子,叫表達式。
a = 8;
a = 9>8
五.移位操作符
>>:右移,移出的高位補符號位
<<:>
>>> :無符號右移,高位補0
int i = 13
00000000 00000000 00000000 00001101
13>>1 右移一位,高位補符號位,結果得6
0 00000000 00000000 00000000 0000110
13<<1 左移一位,低位直接補0,結果得26
0000000 00000000 00000000 00001101 0
int i =-13
先求:-13的補碼
00000000 00000000 00000000 00001101 (絕對值的二進制)
取反加1后
11111111 11111111 11111111 11110011(-13的補碼)
-13>>1 右移一位,高位補符號位.
1 11111111 11111111 11111111 1111001
減1取反后(符號位不變)
1 00000000 00000000 00000000 0000111
最終結果得:-7
如果:-13>>>1 無符號右移一位,高位補0.
0 11111111 11111111 11111111 1111001
---------------------
面試題:
以最快的速度算出8*2或者8/2的結果?
8<<1
8>>1
int r = 8*2 //用到很多塊內存,所以慢。
六.按位操作符
&:按位與 : 見0為0,全1為1
|:按位或,見1為1,全0為0
^:按位異或,相同為0,相異為1
~:取反,原來為1變為0,原來為0變為1
使用的一些例子:
1 任何一個數異或同一個數2次得到自身,可以用做簡單加密器
七.邏輯運算符
&&:短路與,見假為假,全真為真
||:短路或,見真為真,全假為假
& :非短路與,見假為假,全真為真
| :非短路或,見真為真,全假為假
! :非,取反
^ :異 或,相同為false,相異為true
----
短路和非短路
&&:短路,前面的條件如果為false,不管理 后面條件是true還是false,整體上都為false,所以沒必要去判斷后面的條件
面試題:
&跟&&區別:
1.&按位與運算符,也叫非短路與
2.&&邏輯與運算符,也叫短路與
3.&第一個表達式不成立的時候,繼續算所有的表達式,如(a&b),假如a為false,也還要執行b
4.&&第一個表達式不成立的時候 ,剩下的表達式都不執行了,如(a&&b),假如a為false,則不執行b
八.字符串相加
+可以用來對數值相加,也可以對字符串相加,
+是java下惟一的重載的運算符
String s1 = "hello";
String s2 = "world";
String s3 = s1+s2;
String s4 = "hello"+"world";
字符串可+任何一種數據類型,加號后面的數據類型會自動轉換成字符串
需要注意的地方:
String s = "a="+5+5;
System.out.println(s); //輸出a=55
s = "a="+(5+5);
System.out.println(s);//輸出a=10
九.三目運算符
1 什么是三目運算符
布爾表達式? 值1 : 值2;
2 用來干嗎?
對某些條件進行判斷,然后取其中兩個值中的一個值返回
其實就是if判斷的一種簡寫方式
3 例子
int score = 60;
String s = score>=60? "及格":"不及格";
總結
以上是生活随笔為你收集整理的java 1%10_Java 操作符与运算符详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “服食求不死”上一句是什么
- 下一篇: 77.4毛钱60跟肉串应该算多少钱一串的