首頁 > 軟體

Java 精煉解讀資料結構邏輯控制

2022-03-15 16:02:05

一、順序結構

程式的執行和程式碼的執行順序有關,如果調整程式碼的書寫順序, 則執行順序也發生變化

二、分支結構

基本語法形式1:

if(布林表示式){    

//條件滿足時執行程式碼 }

基本語法形式2

if(布林表示式){    

//條件滿足時執行程式碼

}else{    

//條件不滿足時執行程式碼

基本語法形式3 多分支的情況

if(布林表示式){    

//條件滿足時執行程式碼

}else if(布林表示式){    

//條件滿足時執行程式碼

}else{    

//條件都不滿足時執行程式碼

}

舉例:程式碼如下

public static void main(String[] args) {
        int n = 10;
        //if裡面只能是布林表示式
        if(n % 2 == 0) {
            System.out.println("偶數");
        }else{
            System.out.println("奇數");
        }
 
    }
}

讀入字串 

讀入字串,如果字串存在空格的情況下,遇到空格結束 

如果你要讀取字串和整數,要先讀取字串再讀取整數

 如果要簡單使用輸入函數,可以用。專案當中,慎重!!!!!!

判斷是不是閏年:

public class TestDemo {
 
  方法1: public static void main1(String[] args) {
        int year = 2000;
        if (year % 100 == 0) {
            if (year % 400 == 0) {
                System.out.println("是閏年");
            } else {
                System.out.println("不是閏年");
            }
        } else {
            if (year % 4 == 0) {
                System.out.println("是閏年");
            } else {
                System.out.println("不是閏年");
            }
        }
    }
 
  方法2:  public static void main(String[] args) {
        int year = 2000;
        if(year % 100!= 0 && year % 4== 0 ||year % 400 == 0){
            System.out.println("是閏年");
        }else{
            System.out.println("不是閏年");
        }
 
 
    }
}

懸垂 else 問題 

switch 語句 

基本語法

switch(整數|列舉|字元|字串){

case 內容1 : {

內容滿足時執行語句;

[break;]

}

case 內容2 : {

內容滿足時執行語句;

[break;]

} ...

default:{ 內容都不滿足時執行語句;

[break;]

}

}

舉例:

    public static void main(String[] args) {
        //long double float boolean不是不能做switch語句裡面的引數的
        int a = 10;
        switch (a){//小括號裡面是一個表示式,必須是一個簡單的表示式,不能像c語言一樣,比如說a>=10 && a<=20
            case 1:
                System.out.println("1");
                break;
            case 2:
                System.out.println("2");
            default:
                System.out.println("引數不匹配");
                break;
        }
    }
}

String型別可以作為Java中switch語句的引數 

根據 switch 中值的不同, 會執行對應的 case 語句. 遇到 break 就會結束該 case 語句

如果 switch 中的值沒有匹配的 case, 就會執行 default 中的語句.

我們建議一個 switch 語句最好都要帶上 default

我們發現, 不寫 break 的時候, case 語句會依次向下執行, 從而失去了多分支的效果

注意事項1

break 不要遺漏, 否則會失去 "多分支選擇" 的效果

注意事項2

switch 中的值只能是 整數|列舉|字元|字串

注意事項3 switch 不能表達複雜的條件

// 例如: 如果 num 的值在 10 到 20 之間, 就列印 hehe

// 這樣的程式碼使用 if 很容易表達, 但是使用 switch 就無法表示.

if (num > 10 && num < 20) {

System.out.println("hehe");

}

三、 迴圈結構

3.1 while 迴圈 

基本語法格式:

while(布林表示式){

語句塊;

}

迴圈條件為 true, 則執行迴圈語句; 否則結束迴圈 

舉例:

求1到10的和   
public static void main(String[] args) {
       int i = 1;
       int sum = 0;
       while(i <=10) {
           sum += i;
           i++;
       }
        System.out.println(sum);
    }
}
 
求n的階乘
 
    public static void main(String[] args) {
        int j = 3;
        int ret = 0;
            int sum = 1;
            int i = 1;
                while(i<=j) {
 
                    sum *=i;
                    i++;
                }
        System.out.println(sum);
 
        }

注意事項:

1. 和 if 類似, while 下面的語句可以不寫 { } , 但是不寫的時候只能支援一條語句. 建議還是加上 { }

2. 和 if 類似, while 後面的 { 建議和 while 寫在同一行.

3. 和 if 類似, while 後面不要多寫 分號, 否則可能導致迴圈不能正確執行 

3.2 break

 break 的功能是讓迴圈提前結束 

程式碼範例:找到 100 - 200 中第一個 3 的倍數 

public static void main(String[] args) {
        int num = 100;
        while (num <= 200) {
            if (num % 3 == 0) {
                System.out.println("找到了 3 的倍數, 為:" + num);
                break;
            }
            num++;
        }

//執行結果
//找到了 3 的倍數, 為:102

執行到 break 就會讓迴圈結束.

3.3 continue 

 continue 的功能是跳過這次迴圈, 立即進入下次迴圈

舉例: 

求1到10之間三倍數
 
public static void main(String[] args) {
        int i = 1;
        while(i<=10) {
            if(i % 3 !=0 ){
                i++;
                continue;
            }
            System.out.println(i);
                  i++;
        }

執行到 continue 語句的時候, 就會立刻進入下次迴圈(判定迴圈條件), 從而不會執行到下方的列印語句 

總結:break結束所有迴圈,continue結束本趟迴圈

 break和continue都必須在迴圈裡,【特殊:break可以在switch語句當中】

3.4 for 迴圈 

基本語法:

for(布林表示式1;布林表示式2;布林表示式3){

語句塊;

}

表示式1: 用於初始化迴圈變數.

表示式2: 迴圈條件

表示式3: 更新迴圈變數

舉例:

求1到100之間的和 
public static void main(String[] args) {
       int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        }

注意事項 (和while迴圈類似)

1. 和 if 類似, for 下面的語句可以不寫 { } , 但是不寫的時候只能支援一條語句. 建議還是加上 { }

2. 和 if 類似, for 後面的 { 建議和 while 寫在同一行.

3. 和 if 類似, for 後面不要多寫 分號, 否則可能導致迴圈不能正確執行. 

3.5 do while 迴圈(選學) 

基本語法 do{

迴圈語句;

}while(迴圈條件);

先執行迴圈語句, 再判定迴圈條件. 

舉例:

列印1-10
public static void main(String[] args) {
    int num = 1;
    do {
        System.out.println(num);
        num++;
    } while (num <= 10);
}

注意事項:

1. do while 迴圈最後的分號不要忘記

2. 一般 do while 很少用到, 更推薦使用 for 和 while.

總結:

今天還是蠻累的,加入了計劃之星第三季,要更加的忙起來了,後面我會多多刷題多多寫部落格。

加油!!!!!!

到此這篇關於Java 精煉解讀資料結構邏輯控制的文章就介紹到這了,更多相關Java 邏輯控制內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com