入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

return跳出双重for循环

创建时间:2016-01-23 投稿人: 浏览次数:6267


场景1:web应用


return是可以跳出双重for循环


for(int i=0;i<10;i++){

for(int j=0;j<10;j++){

            return "success";

}

}


这个语法是可以跳出for循环的,尽管是双重循环。


场景2:纯java,当内层循环终止时为外层循环增加判断标志位

/**
	 * 对于for循环而言
	 * break只能跳出本循环
	 * 如果有多个循环,可以增加标志位
	 */
	@Test
	public void doubleFor(){
		boolean k=false;//外层循环是否break标志位,默认为false
		
		
		for(int i=0;i<10;i++){//外层循环
			System.out.println("i="+i);//输出外围循环的循环次数
			
			for(int j=0;i<10;j++){//内层循环
				System.out.println("j="+j);
				
				//如果 j==1,内层循环结束,并修改 标志变量k 的值为true
				if(j==1){
					k=true;
					break;
				}
			}
			
			
			if(k){//如果k为true,则终止外围循环
				break;
			}
		}
	}

场景3:纯java,为外层循环设置标签,名字是你自定义

/**
	 * 为你最外围的循环增加一个名字
	 * 自定义名字:for(XXX){
	 * 	for(XXX){
	 * 		...无限嵌套for(XXX){if(true) break 自定义名字;}
	 * 	}
	 * }
	 * 可以直接跳出最外围的名字
	 */
	@Test
	public void testForLabel(){
		//writeName是你自定义的
		writeName:for(int i=0;i<10;i++){
			System.out.println("i="+i);
		    for(int j=0;j<10;j++){   
		    	System.out.println("j="+j);
		    	for(int k=0;k<10;k++){
		    		System.out.println("k="+k);
		    		if(k==1){
		    			break writeName;//跳出整个循环
		    		}
		    		
		    	}
		        
		    }
		}
	}


场景4 使用return

/**
	 * 纯java使用 return也可以跳出双重循环,方法未void
	 */
	@Test
	public void testForReturn(){
		for(int i=0;i<10;i++){//外层循环
			System.out.println("i="+i);//输出外围循环的循环次数
			
			for(int j=0;j<10;j++){//内层循环
				System.out.println("j="+j);
				if(j==2){
					return;
				}
			}
		}
	}



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。