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("沒有匹配的");
}
}
}