1. 程式人生 > 其它 >for迴圈,break continue,java方法詳解

for迴圈,break continue,java方法詳解

控制語句:把語句組合乘能完成一定功能的小邏輯模組。它分為三類:順序、選擇和迴圈

順序結構

先執行 a 再執行 b 的邏輯


條件判斷結構(選擇結構)

“如果……,則……”的邏輯

if單分支結構

    if(布林表示式){
        語句塊
    }

1.如果if語句不寫{},則if只作用於第一條語句

2.強烈建議,任何時候都加上{},有可能後期改版需要加上一些其他語句

【示例】擲骰子游戲

/** 遊戲規則
 *      1.如果三次的值加起來大於15,則手氣不錯
 *      2.如果在10~15之間,一般
 *      3.如果在10一下,不怎麼樣
 */


public class Test {
    public static void main(String[] args){
        int i = (int)(Math.random() * 6) + 1;
        int j = (int)(Math.random() * 6) + 1;
        int k = (int)(Math.random() * 6) + 1;

        int count = i + j + k;

        if(count >= 15){
            System.out.println("喲,手氣不錯!");
        }
        if(count >= 10 && count < 15){
            System.out.println("手氣一般");
        }
        if(count < 10){
            System.out.println("手氣不行");
        }

        System.out.println("得分\t" + count);
    }
}


if—else雙分支結構

    if(布林表示式){
        語句塊1; // 如果布林表示式值為 true 執行 語句塊1
    }else{
        語句塊2; // 如果布林表示式值為 false 執行 語句塊2
    }

【示例】

public class Test {
    public static void main(String[] args){
        int i = (int) (Math.random() * 6) + 1;

        System.out.println(i);
        if(i > 3){
            System.out.println("較大的數");
        }else{
            System.out.println("較小的數");
        }

        //  與下面的語句同理
        System.out.println(i > 3 ? "較大的數" : "較小的數");
    }
}

if—else if—else多分支結構

    if(布林表示式1){
        語句塊1;
    }else if(布林表示式2){
        語句塊2;
    }……
    else if(布林表示式3){
        語句塊n;
    }else{
        語句塊n + 1;
    }

【示例】擲骰子游戲

/** 遊戲規則
 *      1.如果三次的值加起來大於15,則手氣不錯
 *      2.如果在10~15之間,一般
 *      3.如果在10一下,不怎麼樣
 */


public class Test {
    public static void main(String[] args){
        int i = (int)(Math.random() * 6) + 1;
        int j = (int)(Math.random() * 6) + 1;
        int k = (int)(Math.random() * 6) + 1;

        int count = i + j + k;

        if(count >= 15){
            System.out.println("喲,手氣不錯!");
        }else if(count >= 10){ // 10~15
            System.out.println("手氣一般");
        }else{
            System.out.println("手氣不行");
        }

        System.out.println("得分\t" + count);
    }
}

swichd多分支結構(多值情況)

    swich(表示式){
        case 值1: 
            語句塊1;
            break;
        case 值2:
            語句塊2;
            break;
        …………
        default:
            預設語句塊;  //default 可有可不有    
    }

1. swich 會根據表示式的值從相匹配的 case 標籤處開始執行,一直執行到 break 處或者是 swich 的末尾。

如果表示式的值與任一 case 的值不匹配,則進入 default 語句

2. swich中表達式的值可以是 int /(short / byte / char / 這三個可以轉 成 int) 列舉 / 字串, 但是 long 不行

【示例】

import java.util.Scanner; // 匯入類

public class Test {
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);

        System.out.println("請輸入您要判斷的月份:(1~12)");
        int month = s.nextInt();

        switch (month){
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("錯誤輸入!");
        }

    }
}

迴圈結構

迴圈結構分為兩大類:當型直到型

當型

當布林表示式條件為true,反覆執行某語句,當布林表示式的值為false是才停止迴圈 比如 whilefor 迴圈

while迴圈

    while(布林表示式){
        迴圈體;
    }

1.迴圈剛開始時,會計算一次布林表示式的值,為true就執行迴圈體,每一次額外的迴圈都會在開始前重新計算一次。

2.應有一次使布林表示式值為false或者迴圈體內有語句跳出迴圈,使迴圈有窮,否則會出現死迴圈

public class Test {
    public static void main(String[] args){
       int i = 0;
       // 列印三次 Hello
       while(i < 3){
           System.out.println("Hello");
           i ++; // 少了這一行會死迴圈
       }
    }
}

for迴圈

    for(初始表示式; 布林表示式;迭代因子){
        迴圈體;
    }

1.初始部分設定:迴圈變數的初值

2.條件判斷部分為:布林表示式

3.迭代因子:控制迴圈變數的增減

【示例】

public class Test {
    public static void main(String[] args){
       // 列印三次 Hello
       int sum = 0;
       for(int i = 0; i <= 100; i ++){ // 和c與c ++相似
           sum += i;
       }
       System.out.println(sum);
    }
}

直到型(do—while)

  先執行某語句,再判斷布林表示式,如果為true,再執行某語句,如此反覆, 直到布林表示式條件為false時停止迴圈, 比如 do—while 迴圈

    do{
        迴圈體;
    }while(布林表示式); // 不要忘記這邊還有個分號

【示例】

public class Test {
    public static void main(String[] args){
        int i = 0;
        int sum = 0;
        do{
            sum += i;
            i ++;
        }while(i <= 100);
        System.out.println(sum);
    }
}