1. 关于 break 和 continue
@Test
public void forContinue() {
ArrayList strings = Lists.newArrayList("1", "11", "111", "1111");
for (String string : strings) {
switch (string) {
case "11":
System.out.println("break, String=" + string);
// break 只终止switch,并不会终止for循环
break;
case "111":
System.out.println("continue, string=" + string);
// continue 不止跳出switch,还跳过本次for循环
continue;
default:
System.out.println("default, String=" + string);
}
System.out.println("forEach: " + string);
}
}
打印结果:
default, String=1
forEach: 1
break, String=11
forEach: 11
continue, string=111
default, String=1111
forEach: 1111
2. 复杂一点的示例
@Test
public void forSwitch() {
String str = "111";
String state = "READ";
ArrayList strings = Lists.newArrayList("1", "11", "111", "1111");
for (String string : strings) {
switch (state) {
case "READ":
if (str == "PREFIX_ESCAPE") {
state = "ESCAPE";
System.out.println("READ_TO_ESCAPE done, string=" + string);
break;
} else if (str.equals(string)) {
state = "SPLIT";
System.out.println("READ_TO_SPLIT done, string=" + string);
continue;
}
System.out.println("READ_do_something, string=" + string);
break;
case "SPLIT":
state = "READ";
System.out.println("SPLIT done, string=" + string);
break;
case "ESCAPE":
state = "READ";
System.out.println("ESCAPE done, string=" + string);
break;
}
System.out.println("forEach: " + string);
}
}
打印结果:
READ_do_something, string=1
forEach: 1
READ_do_something, string=11
forEach: 11
READ_TO_SPLIT done, string=111
SPLIT done, string=1111
forEach: 1111
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
本平台(www.cooy.cn)的一切软件、教程及内容信息仅限用于学习和研究,付费仅为收集整理归类费用;
不得将上述内容用于商业或者非法用途,否则一切后果用户自行承担负责。本平台资源、内容、信息均来自来自用户上传,版权争议及其他问题与本平台无关。
您必须在下载后的24个小时之内从您的电脑或手机中彻底删除上述下载内容,如果您喜欢该程序或内容,请支持正版以获取更好的服务。我们非常重视版权问题,如有侵权请发送邮件至下方邮件(655465@qq.com),敬请谅解!
如发现违法违规内容,请联系下方邮箱举报,我们收到后将会第一时间处理。
THE END
暂无评论内容