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

}

猜你喜欢

转载自blog.csdn.net/Mr_zdk/article/details/82796987