精華筆記: 1. 迴圈結構: - for結構:應用率高、與次數相關的迴圈 ```java 1)語法: // 1 2 3 for(要素1;要素2;要素3){ 語句塊/迴圈體 反覆執行的語句 4 } 2)執行過程: 1243243243243243...2 ``` 2. 三種迴圈結構如何選擇: - 先看 ...
精華筆記:
1. 迴圈結構:
- for結構:應用率高、與次數相關的迴圈
```java 1)語法: // 1 2 3 for(要素1;要素2;要素3){ 語句塊/迴圈體---------------反覆執行的語句 4 } 2)執行過程: 1243243243243243...2 ```
2. 三種迴圈結構如何選擇:
- 先看迴圈是否與次數相關: - 若相關-------------------------------------直接上for - 若無關,再看第1要素與第3相互的代碼是否相同: - 若相同--------------------------------直接上do...while - 若不同--------------------------------直接上while
3. break:跳出迴圈
continue:跳過迴圈體中剩餘語句而進入下一次迴圈
4. 嵌套迴圈:
- 迴圈中套迴圈,常常多行多列時使用,一般外層控制行,內層控制列 - 執行規則:外層迴圈走一次,內層迴圈走所有次 - 建議:嵌套層數越少越好,能用一層就不用兩層,能用兩層就不用三層 - break只能跳出當前一層迴圈
5. 數組:
- 是一種數據類型(引用類型)
- 相同數據類型元素的集合
- 定義:
- 初始化:------------------初始化的是數組中的元素
- 訪問:--------------訪問的是數組中的元素
- 通過(數組名.length)可以獲取數組的長度(元素個數) - 通過下標/索引來訪問數組中的元素,下標從0開始,最大到(數組的長度-1)
- 遍歷/迭代:從頭到尾挨個走一遍
## 筆記:
1. 迴圈結構:
- for結構:應用率高、與次數相關的迴圈
```java 1)語法: // 1 2 3 for(要素1;要素2;要素3){ 語句塊/迴圈體---------------反覆執行的語句 4 } 2)執行過程: 1243243243243243...2 ```
```java for(int times=0;times<5;times++){ System.out.println("行動是成功的階梯"); } //特殊的: for中的迴圈變數num的作用域---僅在當前for中 for(int num=1;num<=9;num++){ System.out.println(num+"*9="+num*9); } for(int num=1;num<=9;num+=2){ System.out.println(num+"*9="+num*9); } /* 執行過程: num=1 true 1*9=9 num=3 true 3*9=27 num=5 true 5*9=45 num=7 true 7*9=63 num=9 true 9*9=81 num=11 false for迴圈結束 */ //演示for的特殊語法格式: int num=1; for(;num<=9;num++){ System.out.println(num+"*9="+num*9); } for(int num=1;num<=9;){ System.out.println(num+"*9="+num*9); num++; } for(;;){ //沒有條件的迴圈就是一個死迴圈 System.out.println("我愛Java"); } for(int i=1,j=5;i<=5;i+=2,j-=2){ } /* i=1,j=5 i=3,j=3 i=5,j=1 i=7,j=-1 */ ```
```java //隨機加法運算器 package day05; import java.util.Scanner; //隨機加法運算器 public class Addition { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int score = 0; //總分 for(int i=1;i<=10;i++){ //10次 (1)25+65=? int a = (int)(Math.random()*100); //加數a--0到99的隨機數 int b = (int)(Math.random()*100); //加數b--0到99的隨機數 int result = a+b; //存正確答案 System.out.println("("+i+")"+a+"+"+b+"=?"); //1)出題 System.out.println("算吧!"); int answer = scan.nextInt(); //2)答題 if(answer==-1){ //3)判題 break; } if(answer==result){ System.out.println("答對了"); score += 10; //答對1題,加10分 }else{ System.out.println("答錯了"); } } System.out.println("總分為:"+score); } } ```
2. 三種迴圈結構如何選擇:
- 先看迴圈是否與次數相關: - 若相關-------------------------------------直接上for - 若無關,再看第1要素與第3相互的代碼是否相同: - 若相同--------------------------------直接上do...while - 若不同--------------------------------直接上while
3. break:跳出迴圈
```java for(int num=1;num<=9;num++){ if(num==4){ //在某種特定條件下,提前結束迴圈 break; //跳出迴圈 } System.out.println(num+"*9="+num*9); } /* 執行過程: num=1 1*9=9 num=2 2*9=18 num=3 3*9=27 num=4 */ ```
continue:跳過迴圈體中剩餘語句而進入下一次迴圈
```java //輸出9的乘法表,只要不能被3整除 for(int num=1;num<=9;num++){ if(num%3!=0){ System.out.println(num+"*9="+num*9); } } //輸出9的乘法表,跳過能被3整除的 for(int num=1;num<=9;num++){ if(num%3==0){ continue; //跳過迴圈體中剩餘語句而進入下一次迴圈 } System.out.println(num+"*9="+num*9); } /* num=1 1*9=9 num=2 2*9=18 num=3 num=4 4*9=36 num=5 5*9=45 num=6 num=7 7*9=63 num=8 8*9=72 num=9 num=10 false */ ```
4. 嵌套迴圈:
- 迴圈中套迴圈,常常多行多列時使用,一般外層控制行,內層控制列
- 執行規則:外層迴圈走一次,內層迴圈走所有次
- 建議:嵌套層數越少越好,能用一層就不用兩層,能用兩層就不用三層
- break只能跳出當前一層迴圈
```java //九九乘法表 public class MultiTable { public static void main(String[] args) { for(int num=1;num<=9;num++){ //控制行 for(int i=1;i<=num;i++){ //控制列 System.out.print(i+"*"+num+"="+i*num+"\t"); } System.out.println(); //換行 } /* 執行過程: num=3 i=1 1*3=3 i=2 2*3=6 i=3 3*3=9 i=4 false 換行 num=2 i=1 1*2=2 i=2 2*2=4 i=3 false 換行 num=1 i=1 1*1=1 i=2 false 換行 */ } } ```
5. 數組:
- 是一種數據類型(引用類型)
- 相同數據類型元素的集合
- 定義:
```java //聲明整型數組arr,包含10個元素,每個元素都是int型,預設值為0 int[] arr = new int[10]; ```
- 初始化:------------------初始化的是數組中的元素
```java int[] arr1 = new int[3]; //0,0,0 int[] arr2 = {2,5,8}; //2,5,8 int[] arr3 = new int[]{2,5,8}; //2,5,8 int[] arr4;