# 運算符
[TOC]
## 算術運算符
~~~
+ - * / % ++ --
~~~
\+ 運算符除了進行數學運算的加法之外,還可以做字符串的拼接。
++ 自增
\-- 自減
示例:
~~~
int m = 10;
System.out.println(m++); // 10
System.out.println(m); // 11
System.out.println(++m); // 12
System.out.println(-m); // -12
~~~
## 賦值運算符
~~~
= += -= \= *= %=
~~~
示例:
~~~
m += 1; // m = m + 1
System.out.println(m); // 13
m -= 1; // m = m - 1
System.out.println(m); // 12
~~~
## 比較運算符
用于判斷兩個變量或者常量的大小,返回結果為 true/false。
`> < <= >= == !=`
>[warning] 左右兩邊的操作數只能是數值
## 邏輯運算符
`&& || !`
與`&&`或者`||`非`!`
與:只要有一個假就是假
或者:只要有一個真就是真
>[warning] 運算符兩邊必須是`boolean`類型的變量、常量、表達式
## 三目運算符
語法:`expression ? if-true-statement : if-false-statement`
實例:
~~~
int age = 16;
String ageStr = age > 18 ? "成年" : "未成年";
System.out.println(ageStr); // 未成年
~~~
## 結合性和優先級
應該盡量在比較復雜的表達式中使用圓括號,明確的標注計算的優先級。
**自學部分:**
關于運算符優先級表
## 習題
使用定義你的身高體重,并計算出你的BMI值是多少
BMI的計算公式是 體重(kg) / (身高\*身高)
比如小明的體重是72kg, 身高是1.69,那么這位同學的BMI就是
72 / (1.69\*1.69) = ?