一、算術運算符
算術運算符主要用於進行基本的算術運算,如加法、減法、乘法、除法等。
Java 中常用的算術運算符:
其中,++ 和 -- 既可以出現在操作數的左邊,也可以出現在右邊,但結果是不同滴
例1:
運行結果:
例2:
運行結果:
一定要注意哦!自增和自減運算符只能用於操作變量,不能直接用於操作數值或常量!例如 5++ 、 8-- 等寫法都是錯誤滴!
PS:% 用來求余數,也稱為”取模運算符“
例子:
public class HelloWorld{
public static void main(String[] args) {
int age1=24;
int age2=18;
int age3=36;
int age4=27;
int sum=age1+age2+age3+age4;
double avg=sum/4;
int minus=Math.abs(age1-age2);
int newAge=--age1;
System.out.println("四個年齡的總和:"+sum);
System.out.println("四個年齡的平均值:"+avg);
System.out.println("age1 和 age2年齡差值:"+minus);
System.out.println("age1自減后的年齡:"+newAge);
}
}
二、賦值運算符
例子:
public class HelloWorld{
public static void main(String[] args) {
int one = 10 ;
int two = 20 ;
int three = 0 ;
three=one+two;
System.out.println("three = one + two ==> "+three);
three+=one;
System.out.println("three += one ==> "+three);
three-=one;
System.out.println("three -= one ==> "+three);
three*=one;
System.out.println("three *= one ==> "+three);
three/=one;
System.out.println("three /= one ==> "+three);
three%=one;
System.out.println("three %= one ==> "+three);
}
}
三、比較運算符
比較運算符用於判斷兩個數據的大小,例如:大於、等於、不等於。比較的結果是一個布爾值( true 或 false )。
Java 中常用的比較運算符如下表所示:
注意哦:
1、 > 、 < 、 >= 、 <= 只支持左右兩邊操作數是數值類型
2、 == 、 != 兩邊的操作數既可以是數值類型,也可以是引用類型
例子:
public class HelloWorld{
public static void main(String[] args) {
int a=16;
double b=9.5;
String str1="hello";
String str2="imooc";
System.out.println("a等於b:" + (a == b));
System.out.println("a大於b:" + (a > b));
System.out.println("a小於等於b:" + (a < b));
System.out.println("str1等於str2:" + (str1.equals(str2)));
}
}
ps: 1、java中equals和==的區別 值類型是存儲在內存中的堆棧(簡稱棧),而引用類型的變量在棧中僅僅是存儲引用類型變量的地址,而其本身則存儲在堆中。
2、==操作比較的是兩個變量的值是否相等,對於引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。
3、equals操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。
4、==比較的是2個對象的地址,而equals比較的是2個對象的內容,顯然,當equals為true時,==不一定為true。
四、邏輯運算符
邏輯運算符主要用於進行邏輯運算。Java 中常用的邏輯運算符如下表所示:
我們可以從“投票選舉”的角度理解邏輯運算符:
1、 與:要求所有人都投票同意,才能通過某議題
2、 或:只要求一個人投票同意就可以通過某議題
3、 非:某人原本投票同意,通過非運算符,可以使其投票無效
4、 異或:有且只能有一個人投票同意,才可以通過某議題
當使用邏輯運算符時,我們會遇到一種很有趣的“短路”現象。
譬如:( one > two ) && ( one < three ) 中,如果能確定左邊 one > two 運行結果為 false , 則系統就認為已經沒有必要執行右側的 one < three 啦。
同理,在( one > two ) || ( one < three ) 中,如果能確定左邊表達式的運行結果為 true , 則系統也同樣會認為已經沒有必要再進行右側的 one < three 的執行啦!
例子:
public class HelloWorld {
public static void main(String[] args) {
boolean a = true; // a同意
boolean b = false; // b反對
boolean c = false; // c反對
boolean d = true; // d同意
//a與b都必須要同意才能通過
System.out.println((a && b) + " 未通過");
//a與b必須有一人同意才能通過
System.out.println((a || b) + " 通過");
//a為反對才能通過
System.out.println((!a) + " 未通過");
//c與d中必須有且只有一人同意才能通過
System.out.println((c ^ d) + " 通過");
}
}
五、條件運算符
條件運算符( ? : )也稱為 “三元運算符”。
語法形式:布爾表達式 ? 表達式1 :表達式2
運算過程:如果布爾表達式的值為 true ,則返回 表達式1 的值,否則返回 表達式2 的值
例如:
因為,表達式 8>5 的值為 true ,所以,返回: 8大於5
例子:
public class HelloWorld{
public static void main(String[] args) {
int score=68;
String mark =(score>=60)?"及格":"不及格";
System.out.println("考試成績如何:"+mark);
}
}