return跳出双重for循环

场景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;//跳出整个循环
		    		}
		    		
		    	}
		        
		    }
         //后面程序可以正常运行
        System.out.println("111");
		}
       
	}

场景4 使用return

for 循环之后的逻辑不会运行

/**
	 * 纯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;
				}
			}
		}
        
        // return 之后就不能再有其它逻辑了
	}

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值