1. 程式人生 > >Java初學者的精神食糧——程式基本結構

Java初學者的精神食糧——程式基本結構

一、基本結構

Java語言中共有三種基本邏輯結構:順序結構選擇結構迴圈結構

1.順序結構

語句執行的基本順序按照各語句出現的位置先後順序執行。

2.選擇結構

選擇結構根據條件來控制程式碼的執行分支,也叫分支結構。包括兩種:if語句switch語句

  • if語句 if語句中的條件表示式可以是關係表示式、邏輯表示式、算術表示式等 ①單分支結構 if(條件表示式) 語句/語句塊 ②雙分支結構 if(條件表示式){ 語句/語句塊1; } else 語句/語句塊2; ③多分支結構 if(條件表示式1){ 語句/語句塊1; } else if(條件表示式2){ 語句/語句塊2; }… else if(條件表示式n){ 語句/語句塊n }else 語句/語句塊n+1; ④if語句的巢狀

    if(條件表示式1){ if(條件表示式11){ 語句/語句塊1;} else{ 語句/語句塊2;}

  • switch語句 對於多重分支,雖然可以使用巢狀if語句來說實現switch語句是java 的多路分支語句,提供了一種基於一個表示式的值來使程式執行不同部分的簡單方法。 語法結構: switch (表示式){ case 值1 : 語句1 break; case 值2 : 語句2 break; … default : 語句n break; }

3.迴圈結構

迴圈結構是指重複執行某段程式直到一個結束條件出現。java有三種迴圈結構:forwhiledo-while

  • for迴圈 for迴圈語句是計數型迴圈語句,一般用於已知迴圈次數的情況,所以也叫定次迴圈。 格式: for(初始語句;判斷語句;步進){ 語句塊; }

    for語句的執行順序是:初始語句→判斷語句→語句塊→步進; for語句也有迴圈巢狀,將另一個for語句巢狀到上一個for語句中實現多次迴圈。 for(初始語句;判斷語句;步進){ for(初始語句;判斷語句;步進) 語句塊; }

  • while迴圈 while迴圈語句當控制表示式為真時,while語句重複執行一個語句或語句塊。 格式: while(控制表示式){ 語句塊(迴圈體);}

  • do-while迴圈 do-while迴圈總是先執行迴圈體,然後再計算表示式,因此它的迴圈體至少被執行一次。 格式: do{ 語句塊(迴圈體); }while(表示式);

*4.跳轉語句

跳轉語句多用於無條件的轉移控制,使用跳轉語句執行分支,該語句會導致立即傳遞程式控制。跳轉語句有:break

continuereturn

  • break語句 break語句一般用在switch語句中,用來終止一個語句序列,或用在迴圈結構中,用來退出一個迴圈。(直接結束所有的迴圈!) ①使用break退出迴圈 強制退出迴圈,忽略迴圈體中的任何其他語句和迴圈條件的測試。 ②帶標籤的break 終止一個或者幾個程式碼塊。要終止的程式碼塊開頭加break標籤即可。
  • continue語句 結束當前迴圈,本趟迴圈,結束之後,後面的所有程式碼不執行 ①帶標籤的continue語句 用於多層迴圈中,標籤名定義在程式中外層迴圈語句的前面,用來標誌這個迴圈結構。 ②不帶標籤的continue語句 在while和do-while迴圈中,continue語句使控制直接轉轉移給控制迴圈的條件表示式,然後繼續迴圈過程。在for迴圈中,迴圈的反覆表示式被求值,然後執行表示式,迴圈繼續執行。
  • return語句 return語句用來於終止方法的執行並將控制返回給呼叫方法。如果方法有返回型別,return語句必須返回這個型別的值;如果方法為void型別,應使用沒有表示式的return語句。

二、舉個栗子

1.用if語句判斷輸入的一個年份是不是閏年

閏年判斷:如果能整除4並且不能被100整除,或者能整除400
程式碼
public class TestDemo2 {
    public static boolean isLeadYear(int year) {
        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
            return true;
        }
        return false;
    }
    
    public static void main(String[] args) {
         System.out.println("請輸入一個年份:");
        Scanner scanner = new Scanner(System.in);//掃描類
        int a = scanner.nextInt();//從鍵盤獲取數字
        boolean flg = isLeadYear(a);  //返回布林型別
        System.out.println(isLeadYear(a));
    }
}

實現結果: 在這裡插入圖片描述

2.判斷一個數是不是素數

程式碼:
public static boolean isPrime(int num) {
        if (num == 1) {
            System.out.println("數字1既不是素數也不是質數");
            return false;
        } else {
            for (int i = 2; i < num; i++) {
                if (num % i == 0) {
                    return false;
                }
            }
            return true;
        }
    }
      public static void main(String[] args) { 
        System.out.println("請輸入一個數字:");
        Scanner scanner = new Scanner(System.in);//掃描類
        int a = scanner.nextInt();//從鍵盤獲取數字
        boolean flg = isPrime(a);
      System.out.println(isPrime(a));
    }
}

實現結果: 在這裡插入圖片描述