第四章 控制执行流程

 

1、java不准许将一个数字作为布尔值。

2、区分break和continue

  • continue跳过一次循环,break跳出整个循环
  • continue跳到循环顶部的行为会使得i值递增,break从循环块外的下一句开始执行,不会有i值递增

    实例:

public class BreakAndContiniue {
    public static void main(String[] args) {
        int i;
        for(i = 0; i < 10; i++) {
            if(i == 9)
                break;
        }
        System.out.println("break_i = " + i);
        
        for(i = 0; i < 10; i++) {
            if(i == 9)
                continue;
        }
        System.out.println("continue_i = " + i);
    }
}

结果:break_i = 9
   continue_i = 10

  •  带标签continue会跳到,标签所属循环顶部开始下一次循环;但是,break会直接跳出标签所属循环

实例:

public class BreakAndContinue2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int count = 0;
        lable1:
        for(int i = 0; i<10; i++) {
            for(int j = 0; j < 10; j++) {
                if(j==4)
                    continue lable1;
                count++;
            }
        }
        System.out.println("continue_count = " + count);
        
        count = 0;
        lable2:
        for(int i = 0; i<10; i++) {
            for(int j = 0; j < 10; j++) {
                if(j==4)
                    break lable2;
                count++;
            }
        }
        System.out.println("break_count = " + count);
    }

}

结果:continue_count = 40
   break_count = 4

3.switch语句的难点在于default的理解;

注意: 如果case语句匹配成功,但是没有break;条件不管会不会和后面的case语句匹配,都会继续执行后面的case语句一直到遇到break或整个switch执行完

把default理解成是通配符就可以。

看一下笔者编写的代码示例:

public class Switch {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        switch (1) {
            case 1: System.out.println("This is 1");
            case 2: System.out.println("This is 2");
            default: System.out.println("This is default");
            case 3: System.out.println("This is 3");
                    break;
            case 4: System.out.println("This is 4");
        }
    }

}

结果:

代码直到遇到break;才结束

 

稍微改动代码,让我们来看看default的效果:

public class Switch {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        switch (1) {
            
            default: System.out.println("This is default");
            case 3: System.out.println("This is 3");
                    break;
            case 4: System.out.println("This is 4");
        }
    }

}

结果:

没有报错,default是通配符可以匹配1。

 

posted @ 2019-08-18 21:40  卑微芒果  Views(171)  Comments(0Edit  收藏  举报