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;
}
}
}
}