1. 程式人生 > >JAVA-迴圈結構(除錯debug)

JAVA-迴圈結構(除錯debug)

除錯(debug)

程式中的漏洞稱為bug, 找出並修改漏洞的過程稱為debug

如何除錯?

1.設定斷點

2.啟動除錯

3.單步執行

4.觀察執行過程及變數的變化

斷點(breakpoint): 程式將暫停在斷點處

單步執行(step over | step into): F6 | F5

跳至下一斷點: F8

迴圈結構

當程式中出現有規律的重複操作時,可以用迴圈結構來實現.

迴圈2個要素:

1.迴圈條件

2.迴圈操作(迴圈體)

迴圈的一般執行過程: 條件成立時, 反覆執行迴圈體, 直到條件為假.

while迴圈

while( 條件 ) {

操作

}

特點: 先判斷, 再執行

do while迴圈

do {

操作

} while( 條件 );

特點: 先執行1次迴圈操作, 再判斷條件

應用場景: 條件判斷要以迴圈操作中產生的結果為依據

注意: do中宣告的變數不能在while中使用!

for迴圈

for( 表示式1 ; 表示式2 ; 表示式4 ) {

迴圈體3

}

表示式1通常是變數初始化

表示式2是迴圈條件

表示式4通常是計數器自增

注意: 三個表示式都能省略, 但2個分號不能省略!

執行過程: 1 > 2 > 3 > 4 > 2 > 3 > 4 ... 2

for迴圈

for(表示式1; 表示式2; 表示式4){

   迴圈體3

}

表示式1:變數初識值

表示式2:迴圈條件

迴圈體3:迴圈操作

表示式4:計數器的自增或自減。

三個表示式可以省略,但是分號不能省略。

執行過程:1>2>3>4>2>3>4>2……

控制流語句break和continue

break: 可用於迴圈結構和switch語句塊, 作用是跳出當前語句序列, 用在迴圈中時, 它是一種提前/非正常結束迴圈的手段!

continue: 只能用於迴圈結構, 作用是跳過本次迴圈中的剩餘程式碼, 進入下一次迴圈!

注意: continue用於for迴圈時, 跳到i++部分!

使用技巧:

當不便於描述迴圈條件時, 或希望自由控制迴圈終止的時機, 採用break!

當迴圈體很複雜, 而且在某種條件下, 希望跳過一大段程式碼的時候, 可採用continue!

經典練習題:

             輸入二個字串a, b, 找出b在a中首次出現的位置

程式碼例項:
/**
 * 輸入二個字串a, b, 找出b在a中首次出現的位置
 * @author admin
 */
public class Xample {
    public static void main(String[] args) {
        String str1 = "thi ia a big a not";
        String str2 = "shuaige";
        //找字串2的首字元
        char first = str2.charAt(0);
        int i;
        boolean match = false;
        for(i = 0; i < str1.length(); i++){
            char a = str1.charAt(i);
            if(first != a){
                continue;
            }
            match = true;
            for(int j = 1; j < str2.length(); j++){
                if(str2.charAt(j) != str1.charAt(i+j)){
                    match = false;
                    break;
                }
            }
            //
            if(match){
               break;    
            }
        }
        if(match){
            System.out.println("b在a中首次出現的位置是:"+i);
        }else{
            System.out.println("沒有匹配的");
        }
        
    }

}