[TOC]
# 常用運算符
## 1.算術運算符
> +,-,*,/,%,++,--
```
public class OperatorDemo {
public static void main(String[] args) {
// 定義兩個變量
int a = 3;
int b = 4;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
// 整數相除只能得到整數,要想得到小數,就必須有浮點數參與運算
System.out.println(3 / 4.0);
System.out.println(3.0 / 4);
}
}
```
### 取余和除法的區別
%:取余運算符。得到的是兩個相除數據的余數。
/:除法運算符。得到是兩個相除數據的商。
使用場景: %,判斷兩個數據是否整除。
```
public class OperatorDemo2 {
public static void main(String[] args) {
int a = 5;
int b = 3;
System.out.println(a / b);
System.out.println(a % b);
}
}
```
### 字符和字符串參與加法操作
> 字符參與運算
> 其實是拿該字符對應的數值來操作
> ‘a’ 97
> ‘A’ 65
> ‘0’ 48
> 字符串參與運算
> 這里其實做的不是加法運算,而是字符串拼接。
> 字符串和其他類型的數據做拼接,結果是字符串類型的。
```
public class OperatorDemo3 {
public static void main(String[] args) {
// 整數加法
int a = 10;
int b = 20;
System.out.println(a + b);
System.out.println("------------------");
// 字符參與加法操作
char c = '0';
char c2 = 'a';
System.out.println(a + c);
System.out.println(a + c2);
System.out.println("------------------");
// 字符串參與加法操作
System.out.println("hello" + a);
System.out.println("hello" + a + b); // "hello"+10,然后再和b進行拼接
System.out.println(a + b + "hello");
}
}
```
### 算數運算符++和--的用法
++,--運算符:對變量做加1或者減1的操作。
++或者--既可以放在變量的后面,也可以放在變量的前面。
單獨使用的時候,++或者--無論是放在變量的前面還是后面,結果是一樣的。
> 如果++或者--在變量的后面,先拿變量參與操作,后變量做++或者--
如果++或者--在變量的前面,先變量做++或者--,后拿變量參與操作
## 2.賦值運算符
基本的賦值運算符:=
擴展的賦值運算符:+=,-=,*=,/=,%=
+=: a+=20;相當于a = (a的數據類型)(a + 20);
## 3.關系運算符
關系運算符包含以下內容:
==,!=,>,>=,<,<=
關系運算符的結果都是boolean型,也就是要么是true,要么是false。
注意事項:
關系運算符“==”不能誤寫成“=”。
## 4.邏輯運算符
### A:邏輯運算符有哪些
* 邏輯運算 —— &,|,^,!
* 短路運算 —— &&,||
### 2.4.3 邏輯運算符&&與&的區別
#### A:&&和&的區別?
a:最終結果一樣。
b:&&具有短路效果。左邊是false,右邊不執行。
&是無論左邊是false還是true,右邊都會執行
#### B:||和|的區別?
a:最終結果一樣
b:||具有短路效果.左邊是true,右邊不執行
|是無論左邊是false還是true,右邊都會執行
### 注意事項:
a:邏輯運算符一般用于連接boolean類型的表達式或者值。
b:表達式:就是用運算符把常量或者變量連接起來的符合java語法的式子。
算術表達式:a + b
比較表達式:a == b(條件表達式)
### 結論:
&邏輯與:有false則false。
|邏輯或:有true則true。
^邏輯異或:相同為false,不同為true。
!邏輯非:非false則true,非true則false
## 5.三元運算符
### A:格式
(關系表達式)?表達式1:表達式2;
如果條件為true,運算后的結果是表達式1;
如果條件為false,運算后的結果是表達式2;
### B:示例
獲取兩個數中大數。
int x=3,y=4,z;
z = (x>y)?x:y;//z變量存儲的就是兩個數的大數