只有變量還不夠,肯定得數學運算纔有用。
平時使用中需要注意運算符的優先級問題,使用部好判斷的建議使用()小括號括起來。
java中主要有以下八大類的運算符:
一、算術運算符
二元運算符
因爲這個運算符需要左右各有一個操作數,所以叫二。
以下的,小學畢業了的都懂。
- + 加
- - 減
- * 乘
- / 除
- % 求餘,常用2求餘做判斷
public class Main {
public static void main(String[] args) {
System.out.println(1+1); //2
System.out.println(1-1); //0
System.out.println(2*2); //4
System.out.println(1/2.0); //0.5
System.out.println(3%2); //1
}
}
兩個不同類型的操作數運算後返回類型爲範圍大的類型.
如:int + long = long
一元運算符
- ++ 加加
- – 減減
public class Main {
public static void main(String[] args) {
int v=5; //操作數在左或右時,會影響操作結果
System.out.println(v++); //5 先賦值,再加1
System.out.println(++v); //7 先加1,在賦值
}
}
二、賦值運算符
- = 等於,這個不用廢話了吧,給某個變量賦值。
擴展運算符
- += 加等於
- -= 減等於
- *= 乘等於
- /= 除等於
public class HelloWorld {
public static void main(String []args) {
int i=3;
int k=5;
int u=i+5;
i+=5;// 等同於 i = i + k;
System.out.println(u); //8
System.out.println(i); //8
}
}
三、關係運算符
用於比較運算,只返回布爾值:true/flase。
- > 是否大於
- < 是否小於
- >= 是否大於等於
- <= 是否小於等於
- == 是否等於
- != 是否不等於
四、邏輯運算符
邏輯運算的操作數和運算結果都是boolean值。
- & 與
- | 或
- && 短路與
- || 短路或
- ! 非
- ^ 異或
一般使用中,常使用短路與/或;前面的操作數爲false時後面的就不做運算了,可以提高效率。
public class HelloWorld {
public static void main(String []args) {
System.out.println(true^false); //true
System.out.println(true^true); //false
System.out.println(false^false); //false
int i = 0;
System.out.println(false && (i++)==0);
System.out.println(i);
System.out.println(false & (i++)==0);
System.out.println(i);
}
}
五、位運算符
位運算指的是進行二進制位的運算。
- &
- |
- ^
- ~
- >> 右移,移1位相當於/2
- << 左移,移1位相當於*2
- >>>
public class HelloWorld {
public static void main(String []args) {
System.out.println(3<<2); //12 相當於3*4
System.out.println(12>>1); //6 相當於12/2
}
}
六、條件運算符
- ? : 三元運算符(三目運算符),如果問號前面的條件成立,返回冒號左側值,不成立返回右側值。一般用來替代簡單的if else操作。
public class HelloWorld {
public static void main(String []args) {
System.out.println(true?1:0); //1
System.out.println(false?1:0); //0
}
}
七、字符串連接符
- + 只有左右有一個值是字符串則返回字符串。
public class HelloWorld {
public static void main(String []args) {
System.out.println(4+5); //9
System.out.println(4+"5"); //"45"
}
}