结论:
A 在for循环中没有switch case的情况下
1. for循环中遇到break则跳过break后面的语句并结束循环,执行循环之后的代码
2. for循环中遇到continue则跳过continue后面的循环内部的语句,并执行下一次的循环,循环之后的语句也照常执行
B 在for循环中含有switch case的情况下,
1. switch case 遇到break则跳出case,把case后面的,循环内部的语句执行完毕,然后才执行下一次的循环
2. switch case 遇到continue后面的for循环内部的语句全部不执行,直接执行下一次的循环,直到for循环结束之后,才继续执行for循环后面的语句
3. 不常用的一个点:continue可以配合跳转标签进行很复杂的跳转流程
package com.test;
public class TestBreakContinue {
public static void main(String[] args) {
//A 在for循环中没有switch case的情况下,
// for循环中遇到break则跳过break后面的语句并结束循环,执行循环之后的代码
// for循环中遇到continue则跳过continue后面的循环内部的语句,并执行下一次的循环,循环之后的语句也照常执行
System.out.println("#########test_break_with_out_switch_case#########");
test_break_with_out_switch_case();
System.out.println("#########test_break_with_out_switch_case#########");
System.out.println("#########test_continue_with_out_switch_case#########");
test_continue_with_out_switch_case();
System.out.println("#########test_continue_with_out_switch_case#########");
//B 在for循环中含有switch case的情况下,
// switch case 遇到break则跳出case,把case后面的,循环内部的语句执行完毕,然后才执行下一次的循环
// switch case 遇到continue后面的for循环内部的语句全部不执行,直接执行下一次的循环,直到for循环结束之后,才继续执行for循环后面的语句
// 不常用的一个点:continue可以配合跳转标签进行很复杂的跳转流程
System.out.println("#########test_continue_with_switch_case#########");
test_continue_with_switch_case(3);
System.out.println("#########test_continue_with_switch_case#########");
System.out.println("#########test_break_with_switch_case#########");
test_break_with_switch_case(3);
System.out.println("#########test_break_with_switch_case#########");
}
public static void test_break_with_out_switch_case() {
for (int i = 1; i < 10; i++) {
if (i == 5)
break;
System.out.println("i = " + i);
}
System.out.println("end");
}
public static void test_continue_with_out_switch_case() {
for (int i = 1; i < 10; i++) {
if (i == 5)
continue;
System.out.println("i = " + i);
}
System.out.println("end");
}
public static void test_continue_with_switch_case(int max) {
for (int i = 1; i < max; i++) {
System.out.println("----------------------");
switch (i) {
case 1:
System.out.println(1);
continue;
case 2:
System.out.println(2);
continue;
case 3:
System.out.println(3);
continue;
default:
System.out.println("default!");
}
System.out.println("i = " + i);
}
System.out.println("end");
}
public static void test_break_with_switch_case(int max) {
for (int i = 1; i < max; i++) {
System.out.println("----------------------");
switch (i) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("default!");
}
System.out.println("i = " + i);
}
System.out.println("end");
}
}
网友评论