java中的switch语句中break和continue的区别--------总算是弄明白了

1、先上一个例子:
 
package com.test;

import java.util.ArrayList;
import java.util.List;
public class SwitchTest {
   
    public void ss(List<Integer> l){
        for(int i=0;i<l.size();i++){
             switch(l.get(i)){
            case 0:
                System.out.println("this is 0");
                continue;
            case 1:
                System.out.println("this is 1");
            case 2:
                System.out.println("this is 2");
            case 3:
                System.out.println("this is 3");
                break;
            default:
                System.out.println("default");
            }
            System.out.println("out switch");
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List<Integer> l=new ArrayList<Integer>();
        l.add(0);
        l.add(1);
        l.add(2);
        l.add(3);
        l.add(4);
        SwitchTest st=new SwitchTest();
        st.ss(l);
    }
}
分析上面程序结论如下:
1、当 程序中   System.out.println("out switch"); 这句话没有的话,也就是说switch 后面没有其他执行业务逻辑的时候,break 和continue 效果是一样的。都是跳出本次循环,执行下一次循环。
2、当switch 后面有其他执行业务逻辑的时候,break 和continue 效果就不一样了。break是跳出switch后,继续执行后面的逻辑。上述例子就会输出 out switch 。单如果是continue就是跳出switch,不执行switch后面的业务逻辑。
3、当switch语句中没有contiune和break的时候,程序匹配后,会继续执行case后面的条件。例如上例中:
          case 1:
                System.out.println("this is 1");
            case 2:
                System.out.println("this is 2");
            case 3:
                System.out.println("this is 3");
            break;
这部分。如果于1匹配之后,会继续输出 this is 2  和 this is 3  直到遇到 this is 3后面的break 才跳出switch.同样如果匹配的是2,还是会执行case 3 后面的语句。直到遇到beak跳出switch。

当然如果beak、contiune 用在for 或者while循环的时候,contine就是跳出本次循环,继续下一次循环。而break就是跳出相应的for或者while循环,不在执行。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值