java中的switch语句中break和continue的区别--------总算是弄明白了
来源:互联网 发布:别墅 网络 编辑:程序博客网 时间:2024/05/22 02:02
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循环,不在执行。
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 0
- java中的switch语句中break和continue的区别--------总算是弄明白了
- java中的switch语句中break和continue的区别--------总算是弄明白了
- break和continue在switch中,在循环中以及在循环中的switch的区别
- break和continue在switch中,在循环中以及在循环中的switch的区别
- JAVA基础资料——switch语句、for语句、break和continue的区别
- Java中break和continue语句的区别
- 总算是明白 java正则表达式 中 Greedy 、Reluctant 、Possessive数量词的区别了
- java中 break和continue的区别
- java 中break和continue的区别
- java 中break,和continue的区别
- Java中break和continue的区别?
- java中continue和break的区别
- Java中break和continue的区别
- java中continue和break的区别
- java 中的break语句和continue语句
- switch 中的 break 和continue
- 循环语句中的break和continue区别
- break语句和continue语句的区别
- 在JavaScript中值类型和引用类型的区别
- C++ 多线程
- 解决Python字符串问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 剑指offer习题JAVA实现(三)
- Java反射
- java中的switch语句中break和continue的区别--------总算是弄明白了
- Git常用命令总结
- ES6解构赋值的默认值
- Mybatis插件原理
- 找二叉树中指定节点在中序遍历中的下一个节点
- androidAnnotations常用注解总结
- 【JZOJ5096】【GDOI2017 day1】房屋购置
- MAC下 Maven的安装与配置
- 关于innerHTml的一些坑