Java流程控制語句

一、流程控制語句

  Java的流程控制語句主要包括三大類:順序結構、分支結構和循環結構。 java

二、順序結構

  順序結構語句是按照代碼的順序,從上往下執行。算法

public static void main(String[] args){ 
    System.out.println(1); 
    System.out.println(2); 
    System.out.println(3); 
}

結果輸出:ide

1
2
3大數據

三、分支結構

  分支結構主要包括兩種類型:if -- else if -- else、switchui

3.一、if語句

  首先判斷關係表達式看其結果是true仍是false,若是是true就執行語句體 ,若是是false就不執行語句體 。3d

Java流程控制語句

3.二、if -- else語句

  首先判斷關係表達式看其結果是true仍是false,若是是true就執行語句體1,若是是false就執行語句體2。
Java流程控制語句code

3.三、if -- else if -- else語句

  首先判斷關係表達式1,看其結果是true仍是false。若是是true就執行語句體1,若是是false就繼續判斷關係表達式2,看其結果是true仍是false。若是是true就執行語句體2,若是是false就繼續判斷關係表達式,看其結果是true仍是false …若是沒有任何關係表達式爲true,就執行語句體n+1。
Java流程控制語句blog

3.四、三元運算符

  三元運算符格式:(表達式) : 表達式爲True時返回的內容 ? 表達式爲False時返回的內容。if語句能夠實現與三元運算符進行互換:字符串

public static void main(String[] args) { 
    int a = 10; 
    int b = 20; 
    //定義變量,保存a和b的較大值 
    int max; 
    if(a > b) { 
        max = a; 
    } else { 
        max = b; 
    }
    //能夠上述功能改寫爲三元運算符形式 
    max = a > b ? a:b; 
}

3.五、switch語句

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

  執行流程首先計算出表達式的值,其次和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程當中,遇到break就會結束。最後,若是全部的case都和表達式的值不匹配,就會執行default語句體部分,而後程序結束掉。
  switch語句中,表達式的數據類型能夠是byte,short,int,char,enum(枚舉),JDK7後能夠接收字符串。
  在switch語句中,若是case的後面不寫break,將出現穿透現象,也就是不會在判斷下一個case的值,直接向後運行,直到遇到break,或者總體switch結束。it

四、循環結構

  循環結構包括三種類型:for循環,while循環,do...while...循環

4.一、for循環

格式:

for(初始化表達式①; 布爾表達式②; 步進表達式④){ 
    循環體③ 
}

執行順序爲1234 --> 234 --> 234 直到2爲false爲止。

4.二、while循環

格式:

初始化表達式① 
while(布爾表達式②){ 
    循環體③ 
    布爾表達式④ 
}

執行順序爲1234 --> 234 --> 234 直到2爲false爲止。

4.三、do...while循環

格式:

初始化表達式① 
do{ 
    循環體③ 
    布爾表達式④ 
}while(布爾表達式②);

執行順序爲134 --> 234 --> 234 直到2爲false爲止。

4.四、break和continue

break:跳出整個循環
continue:跳出當前循環

五、小小的算法題

5.一、輸出200之內的素數

/**
 * @author RuiMing Lin
 * @date 2020-03-18 13:35
 */
public class Demo1 {
    public static void main(String[] args) {
        int count = 0;      // 定義一個計數器
        for (int i = 2; i <= 200; i++) {     // 對2到200之間的數進行遍歷
            boolean flag = true;        // 設置素數的指示器
            for (int j = 2; j < i - 1; j++) {
                if (i % j == 0) {
                    flag = false;      // 若是不是素數則flag爲false
                    break;
                }
            }
            if (flag) {        // 若是是素數則輸出
                System.out.println(i);
                count++;
            }
        }
        System.out.println("共有" + count + "個素數");
    }
}

5.二、水仙花數

/**
 * @author RuiMing Lin
 * @date 2020-03-18 13:41
 */
public class Demo2 {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 100; i <= 1000; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                System.out.println("第" + ++count + "個水仙花數:" + i);
            }
        }
    }
}

有錯誤的地方敬請指出,歡迎你們評論區或者私信交流!每日持續更新Java、Python、大數據技術,請你們多多關注!

相關文章
相關標籤/搜索