break 冲出多层循环
break 跳出多层循环
package com.lixueli.test; import junit.framework.Assert; import org.junit.Ignore; import org.junit.Test; import com.lixueli.model.Person; public class CommonTest{ /** * break 跳出多层循环 * 外层的循环条件表达式的结果可以受到里层循环体代码的控制 */ @Test @Ignore public void testBreak(){ int arr[][] = {{1,2,3},{4,5,6,7},{9}}; boolean found = false; for(int i=0;i<arr.length && !found;i++) { for(int j=0;j<arr[i].length;j++){ System.out.println("i=" + i + ",j=" + j); if(arr[i][j] == 5) { found = true; break; } } } } /** * break 只能跳出第一层for循环,而后继续外层循环 */ @Test @Ignore public void testBreak2(){ int arr[][] = {{1,2,3},{4,5,6,7},{9}}; for(int i=0;i<arr.length;i++) { for(int j=0;j<arr[i].length;j++){ System.out.println("i=" + i + ",j=" + j); if(arr[i][j] == 5) { break; } } } } /** * 在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环 */ @Test public void testBreak3(){ ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { System.out.println("i=" + i + ",j=" + j); if(j == 5) break ok; } } } }