精華筆記: 1. 運算符: - 算術:+、-、*、/、%、++、-- - 關係:>、<、>=、<=、==、!= - 邏輯:&&、||、! - 賦值:=、+=、-=、*=、/=、%= - 字元串連接:+ - 條件/三目:boolean?數1:數2 2. 分支結構:基於條件執行的語句 - if結構:1條 ...
精華筆記:
1. 運算符: - 算術:+、-、*、/、%、++、-- - 關係:>、<、>=、<=、==、!= - 邏輯:&&、||、! - 賦值:=、+=、-=、*=、/=、%= - 字元串連接:+ - 條件/三目:boolean?數1:數2 2. 分支結構:基於條件執行的語句 - if結構:1條路 - if...else結構:2條路
## 筆記:
1. 運算符:
- 算術:+、-、*、/、%、++、--
- %:取模/取餘,餘數為0即為整除
```java System.out.println(5%2); //1,商2餘1 System.out.println(8%2); //0,商4餘0----整除 System.out.println(2%8); //2,商0餘2 ```
- ++/--:自增1/自減1,可在變數前也可在變數後
- 單獨使用時,在前在後都一樣 - 被使用時,在前在後不一樣 - a++的值為a----------(a--的值為a) - ++a的值為a+1--------(--a的值為a-1)
```javascript //演示++單獨使用 int a=5,b=5; a++; //相當於a=a+1 ++b; //相當於b=b+1 System.out.println(a); //6 System.out.println(b); //6 //演示++被使用 int a=5,b=5; int c = a++; //1)將a++的值5賦值給c 2)a自增1變為6 //----a++的值為a(5),所以c的值就是5 int d = ++b; //1)將++b的值6賦值給d 2)b自增1變為6 //++b的值為b+1(6),所以d的值就是6 System.out.println(a); //6 System.out.println(b); //6 System.out.println(c); //5 System.out.println(d); //6 //演示--單獨使用: int a=5,b=5; a--; --b; System.out.println(a); //4 System.out.println(b); //4 //演示--被使用: int a=5,b=5; int c = a--; //1)將a--的值5賦值給c 2)a自減1變為4 int d = --b; //1)將--b的值4賦值給d 2)b自減1變為4 System.out.println(a); //4 System.out.println(b); //4 System.out.println(c); //5 System.out.println(d); //4 ```
- 關係:>、<、>=、<=、==、!=
```java 1)>(大於)、<(小於) >=(大於或等於)、<=(小於或等於) ==(等於)、!=(不等於) 2)關係運算的結果為boolean型, 關係成立則為true,關係不成立則為false ```
```java int a=5,b=10,c=5; boolean b1 = a>b; System.out.println(b1); //false System.out.println(c<b); //true System.out.println(a>=c); //true System.out.println(a<=b); //true System.out.println(a==c); //true System.out.println(a!=c); //false System.out.println(a+c>10); //false System.out.println(a%2==0); //false System.out.println(a++>5); //false--------a自增1變為6 System.out.println(a++>5); //true---------a自增1變為7 ```
- 邏輯:&&、||、!
- 邏輯運算是建立在關係運算的基礎之上的 邏輯運算的結果也是boolean型
- &&:短路與(並且),兩邊都為真則為真,見false則false
```java int a=5,b=10,c=5; boolean b1 = b>=a && b<c; System.out.println(b1); //true&&false=false System.out.println(b<=c && b>a); //false&&true=false System.out.println(a==b && c>b); //false&&false=false System.out.println(b!=c && a<b); //true&&true=true //演示短路 boolean b1 = a>b && c++>2; System.out.println(b1); //false System.out.println(c); //5,發生短路了 ```
- ||:短路或(或者),有真則為真,見true則true
```java int a=5,b=10,c=5; System.out.println(b>=a || b<c); //true||false=true System.out.println(b<=c || b>a); //false||true=true System.out.println(b!=c || a<b); //true||true=true System.out.println(a==b || c>b); //false||false=false //演示短路 boolean b2 = a<b || c++>2; System.out.println(b2); //true System.out.println(c); //5,發生短路了 ```
- !:邏輯非(取反),非真則假,非假則真
```java int a=5,b=10,c=5; boolean b2 = !(a<b); System.out.println(b2); //!true=false System.out.println(!(a>b)); //!false=true ```
- 賦值:=、+=、-=、*=、/=、%=
- 簡單賦值運算符:=
- 擴展賦值運算符:+=、-=、*=、/=、%= ---註意:擴展賦值運算符自帶強轉功能
```java int a = 5; a += 10; //相當於a=(int)(a+10) System.out.println(a); //15 a *= 2; //相當於a=(int)(a*2) System.out.println(a); //30 a /= 6; //相當於a=(int)(a/6) System.out.println(a); //5 //小面試題: short s = 5; //s = s+10; //編譯錯誤,需強轉: s=(short)(s+10); s += 10; //相當於: s=(short)(s+10); ```
- 字元串連接:+
- 若兩邊為數字,則做加法運算
- 若兩邊出現了字元串,則做字元串連接
- 任意類型的數據只要和字元串連,結果都會變為字元串類型---同化作用
```java int age = 38; System.out.println("age="); //age= System.out.println(age); //38 System.out.println("age="+age); //age=38 System.out.println("我的年齡是"+age); //我的年齡是38 System.out.println("我今年"+age+"歲了"); //我今年38歲了 String name = "WKJ"; System.out.println("name="+name); //name=WKJ System.out.println("大家好,我叫"+name); //大家好,我叫WKJ System.out.println("大家好,我叫"+name+",今年"+age+"歲了"); //大家好,我叫WKJ,今年38歲了 System.out.println(10+20+""+30); //3030--------String System.out.println(""+10+20+30); //102030------String System.out.println(10+20+30+""); //60----------String ```
- 條件/三目:
- 語法:
boolean?數1:數2
- 執行過程:
- 整個表達式是有值的,它的值要麼是問號後的數1,要麼是冒號後的數2 - 判斷boolean的值: - 若為true,則整個表達式的結果為?號後的數1 - 若為false,則整個表達式的結果為:號後的數2
```java int num = 0; int flag = num>0?1:-1; System.out.println(flag); //-1 int a=8,b=55; int max = a>b?a:b; System.out.println("max="+max); ```
2. 分支結構:基於條件執行的語句
- if結構:1條路
```java 1)語法: if(boolean){ 語句塊-------------基於條件執行的語句 } 2)執行過程: 判斷boolean的值: 若為true,則執行語句塊(整個結束) 若為false,則直接結束 ```
```java //1)偶數的判斷: int num = 6; if(num%2==0){ //帶數(6,5) System.out.println(num+"是偶數"); } System.out.println("繼續執行..."); //1)滿500打8折 double price = 300.0; //消費金額