您的位置:首页 > 产品设计 > UI/UE

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

2014-02-25 14:10 706 查看
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循环,不在执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: