1. 程式人生 > 其它 >衝,java學習第二天

衝,java學習第二天

01switch格式:

switch(表示式){
    case    值1:
            語句體1;
            break;
    case    值2:
            語句體2;
            break;
            ...
    default  
            語句體n;
            break;
}


執行流程:
     1.拿著()中將要匹配的值,跟case給出的選項逐一匹配,匹配成功執行對應的語句體,
    再由break結束掉整個switch。
2.如果所給出的case 都匹配失敗了,就會執行最後的default語句。 注意事項:
1.case後面的值不允許重複 2.case後面的值只能是常量,不能是變數 3.如果switch語句中,省略了break語句,將開啟case穿透現象 就是說當與case 的值匹配成功後,他執行完本行case的語句體後他會繼續執行下一行的case 中的語句體,
直到遇到break或者下面的語句體全部執行完才會結束。

02 for迴圈

格式

for(初始化語句; 判斷條件; 條件控制語句){
	迴圈體語句;
}

執行流程

  1.執行初始化語句,處死話語句再整個迴圈中只執行一次

  2.執行判斷條件,看其返回結果是 true,false

      fasle:迴圈直接結束

      true:進入第三步

  3.執行迴圈體

  4.執行條件控制語句

  5.返回到2繼續

注意事項:

  • ()和{}之間不要寫分號
  • for迴圈{}中所定義的變數,再每一輪迴圈結束後,都會從記憶體中消失
  • for 迴圈 () 中所定義的變數, 在整個迴圈結束後, 會從記憶體中消失

03 while迴圈

格式

初始化語句;

while(判斷條件){
	迴圈體語句;
	條件控制語句;
}

 執行流程


1. 執行初始化語句,  初始化語句在整個迴圈中只執行一次
2. 執行判斷條件, 看其返回結果是true, false
   - false : 迴圈直接結束
   - true : 進入第三步了
3. 執行迴圈體語句
4. 執行條件控制語句
5. 回到2繼續.

 04 do...while

格式

初始化語句;
do {
	迴圈體語句;
	條件控制語句;
}while(判斷條件);

執行流程

    1. 執行初始化語句

    2. 執行迴圈體語句

    3. 執行條件控制語句

    4. 執行判斷條件, 看其返回結果是true, false

      • false, 迴圈結束

      • true ,回到2繼續.

  特點: 無論判斷條件是否滿足, 都至少會執行一次迴圈體.

05-三種迴圈的區別

(for, while) 和 (do...while) 區別:
​
for迴圈和while迴圈, 先判斷, 後執行.
do...while迴圈, 先執行, 後判斷.
for : 內部控制迴圈的變數, 因為歸屬於for迴圈的語法結構, 在迴圈結束後, 就無法使用.
​
for(int i = 1; i <= 10; i++){
    
}
System.out.println(i);  // 編譯錯誤
​
while : 內部控制迴圈的變數, 不歸屬於while迴圈的語法結構, 在迴圈結束後, 可以繼續使用.
    
int i = 1;
while(i <= 10){
    
    i++;
}
System.out.println(i);  // 沒有錯誤

  

  • 注意 : 其實for迴圈和while迴圈本質來講沒什麼區別

int i = 1;
​
for(; i <= 10; i++){
    
}
System.out.println(i);

  

  • 結論

    • for 迴圈能夠實現的需求, while都能實現

    • while 迴圈能夠實現的需求, for也都能實現.

06-跳轉控制語句

  • break : 可以結束迴圈, 也可以結束switch語句.

    • 注意 : 只能在迴圈和switch語句當中進行使用.

  • continue : 可以跳過某次迴圈, 繼續下一次迴圈

    • 注意 : 只能在迴圈當中進行使用.

  • 注意事項 :

    • 如果涉及到了迴圈的巢狀, break 和 continue 只能操作自己所在的那一層迴圈

      • 想要操作指定層的話, 可以使用迴圈標號.

public class LoopDemo2 {
    // 標號
    public static void main(String[] args) {
        lo:
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 3; j++) {
                if (j == 2) {
                    break lo;
                }
                System.out.println("HelloWorld");
            }
        }
 }

  

07-無限迴圈

for(;;){}
while(true){
​
}
do{
​
}while(true);
 

  

  • 無限迴圈當中, 如果沒有break語句, 下面的程式碼是不能執行的.

  • 使用場景 :

    • 如果不明確迴圈次數, 可以使用無限迴圈.

08-Random產生隨機數

  • 找符咒 (導包)

import java.util.Random;

  

  • 召喚精靈 (建立物件)

Random r = new Random();

  

  • 指揮精靈幹活 (呼叫物件的方法)

int num = r.nextInt(10);   // 0~9