Java 之 運算子
運算子:運算子是一種特殊的符號,用以表示資料的運算、賦值和比較等。
Java中的運算子:
算數運算子
賦值運算子
比較運算子(關係運算符)
邏輯運算子
位運算子
三元運算子
一、算數運算子
Tips:
a. Java 中,整數使用以上運算子,無論怎麼計算,也不會得到小數;
b. 一旦運算中有不同型別的資料,那麼結果將會是資料類型範圍大的那種。
1、除法和取模運算
對於一個整數的表示式來說,除法用的是整除,整數除以整數,結果仍然是整數。只看商,不看餘數。
只有對於整數的除法來說,取模運算子才有餘數的意義。而且 被模數%模數,只看被模數的正負號。
5 % 2 = 1
-5 % 2 = -1
5 % -2 = 1
-5 % -2 = -1
%表示取餘運算,結果的符號與被模數(第一個數)的符號相同
2、加號 “+” 的用法
(1)對於數值來說,那就是加法;
(2)對於字元 char 型別來說,在計算之前,char 會被提升成為 int,然後再計算。
char型別字元,和 int 型別數字,之間的對照關係表:ASCII、Unicode
(3)對於字串 String 來說,加號代表字串連線操作。任何資料型別和字串進行連線的時候,結果都會變成字串
3、自增運算子(++)和自減運算子(--)
基本含義:讓一個變數漲一個數字1,或者讓一個變數降一個數字1
使用格式:寫在變數名稱之前,或者寫在變數名稱之後。例如:++num,也可以num++
使用方式:
(1)單獨使用:不和其他任何操作混合,自己獨立成為一個步驟。
(2)混合使用:和其他操作混合,例如與賦值混合,或者與列印操作混合,等。
使用區別:
(1)在單獨使用的時候,前++和後++沒有任何區別。也就是:++num;和num++;是完全一樣的。
(2)在混合的時候,有【重大區別】
A. 如果是【前++】,那麼變數【立刻馬上+1】,然後拿著結果進行使用。【先加後用】
B. 如果是【後++】,那麼首先使用變數本來的數值,【然後再讓變數+1】。【先用後加】
注意事項:只有變數才能使用自增、自減運算子。常量不可發生改變,所以不能用。
Demo:
int num1 = 10;
System.out.println(num1); // 10
++num1; // 單獨使用,前++
System.out.println(num1); // 11
num1++; // 單獨使用,後++
System.out.println(num1); // 12
// 與列印操作混合的時候
int num2 = 20;
// 混合使用,先++,變數立刻馬上變成21,然後列印結果21
System.out.println(++num2); // 21
System.out.println(num2); // 21
int num5 = 50;
// 混合使用,後--,首先把本來的數字50交給result2,然後自己再-1變成49
int result2 = num5--;
System.out.println(result2); // 50
System.out.println(num5); // 49
// 30++; // 錯誤寫法!常量不可以使用++或者--
4、注意:自增或自減操作不會改變本身變數的資料型別
Demo:
short s1 = 10;
//s1 = s1 + 1;//編譯失敗
//s1 = (short)(s1 + 1);//正確的
s1++;//自增1不會改變本身變數的資料型別
System.out.println(s1);