概述
1.测试return
List l = new ArrayList();
l.add("0x123");
l.add(false);
l.add(0x345);
l.add(null);
l.add(025);
for(int i=0;i<l.size();i++){
try{
System.out.println("第"+i+"次:"+l.get(i).toString());
if(i==0){
System.out.println("第"+i+"次:执行continue;");
continue;//后面业务逻辑不执行,此次循环停止转而继续执行下一个循环逻辑
}
if(i==1){
// System.out.println("第"+i+"次:执行break;");
// break;//break只终止for循环,for循环不往后面走了
}
}catch(Exception e){
System.out.printf("第"+i+"次:出错了!",e);
return ;//在for循环里return不仅仅是终止for循环,而是程序终止
}
}
System.out.println("for循环结束了");
结果:
第0次:0x123
第0次:执行continue;
第1次:false
第2次:837
第3次:出错了!
return后整个方法结束包括里面的for循环也终止了,后面不再执行
2.取消注释break,测试break:
List l = new ArrayList();
l.add("0x123");
l.add(false);
l.add(0x345);
l.add(null);
l.add(025);
for(int i=0;i<l.size();i++){
try{
System.out.println("第"+i+"次:"+l.get(i).toString());
if(i==0){
System.out.println("第"+i+"次:执行continue;");
continue;//后面业务逻辑不执行,此次循环停止转而继续执行下一个循环逻辑
}
if(i==1){
System.out.println("第"+i+"次:执行break;");
break;//break只终止for循环,for循环不往后面走了
}
}catch(Exception e){
System.out.printf("第"+i+"次:出错了!",e);
return ;//在for循环里return不仅仅是终止for循环,而是程序终止
}
}
System.out.println("for循环结束了");
结果:
第0次:0x123
第0次:执行continue;
第1次:false
第1次:执行break;
for循环结束了
(1)break只是终止for循环不终止程序;
(2)for循环里break之后的逻辑不执行,连return也不执行
例:
public static void main(String[] args) {
final long timeInterval = 1000;
Runnable runnable = new Runnable() {
public void run() {
while (true) {
System.out.println("Hello !!");
try {
Thread.sleep(timeInterval);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
List<Object> l = new ArrayList<Object>();
l.add("0x123");
l.add(false);
l.add(0x345);
l.add(null);
l.add(025);
l.add(new Exception());
l.add(runnable);
l.add(new File(""));
l.add(false+"+");
l.add(null+"+");
l.add(new Exception()+"+");
l.add(runnable+"+");
l.add(new File("")+"+");
l.add(0x345+025);
System.out.println("list:"+l);
for(int i=0;i<l.size();i++){
try{
System.out.println("第"+i+"次:"+l.get(i).toString());
if(i==0){
System.out.println("第"+i+"次:执行continue;");
continue;//后面业务逻辑不执行,此次循环停止转而继续执行下一个循环逻辑
}
if(i==1){
System.out.println("第"+i+"次:执行break;");
break;//break只终止for循环,for循环不往后面走了
}
System.out.println("执行完第"+i+"次循环");
return;
}catch(Exception e){
System.out.printf("第"+i+"次:出错了!",e);
return ;//在for循环里return不仅仅是终止for循环,而是程序终止
}
}
System.out.println("for循环结束了");
}
结果:
第0次:0x123
第0次:执行continue;
第1次:false
第1次:执行break;
for循环结束了
(3)for循环里紧邻break之后不能添加代码,连添加return都不行;
3.continue
(1)continue不终止for循环更不终止程序,而是终止(跳过)此次循环,转而进入下一次循环
(2)执行continue时,for循环里continue后的逻辑不执行,连return也不执行;
例:
public static void main(String[] args) {
final long timeInterval = 1000;
Runnable runnable = new Runnable() {
public void run() {
while (true) {
System.out.println("Hello !!");
try {
Thread.sleep(timeInterval);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
List<Object> l = new ArrayList<Object>();
l.add("0x123");
l.add(false);
l.add(0x345);
l.add(null);
l.add(025);
l.add(new Exception());
l.add(runnable);
l.add(new File(""));
l.add(false+"+");
l.add(null+"+");
l.add(new Exception()+"+");
l.add(runnable+"+");
l.add(new File("")+"+");
l.add(0x345+025);
System.out.println("list:"+l);
for(int i=0;i<l.size();i++){
try{
System.out.println("第"+i+"次:"+l.get(i).toString());
if(i==0){
System.out.println("第"+i+"次:执行continue;");
continue;//后面业务逻辑不执行,此次循环停止转而继续执行下一个循环逻辑
}
if(i==1){
// System.out.println("第"+i+"次:执行break;");
// break;//break只终止for循环,for循环不往后面走了
}
System.out.println("执行完第"+i+"次循环");
return;
}catch(Exception e){
System.out.printf("第"+i+"次:出错了!",e);
return ;//在for循环里return不仅仅是终止for循环,而是程序终止
}
}
System.out.println("for循环结束了");
}
结果:
第0次:0x123
第0次:执行continue;
第1次:false
执行完第1次循环
(3)for循环里紧邻continue后不能添加代码,连添加return都不行。
4.终止程度排行:return > break > continue
5.三者return、break、continue互斥性
三者都不能在紧邻对方的前后添加自己
最后
以上就是昏睡玫瑰为你收集整理的最简例子讲透for循环里的return、break、continue——寻止的全部内容,希望文章能够帮你解决最简例子讲透for循环里的return、break、continue——寻止所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复