最简例子讲透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

结果:

第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

结果:

第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 l = new ArrayList();
		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 
  

结果:

第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 l = new ArrayList();
		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 
  

结果:

第0次:0x123
第0次:执行continue;
第1次:false
执行完第1次循环

(3)for循环里紧邻continue后不能添加代码,连添加return都不行。

 

4.终止程度排行:return > break > continue

5.三者return、break、continue互斥性

三者都不能在紧邻对方的前后添加自己

你可能感兴趣的:(java)