我是靠谱客的博主 昏睡玫瑰,最近开发中收集的这篇文章主要介绍最简例子讲透for循环里的return、break、continue——寻止,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

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——寻止所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部