package com.hna;
import org.junit.Ignore;
import org.junit.Test;
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
@Ignore
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;
}
}
}
}
package com.hna;
/**
*
* @author lixueli
* break跳出for循环继续执行for循环下面的方法
* return 跳出整个方法
* continue 跳出本次循环继续下次循环
*/
public class ReturnBreakTest {
public static void main(String [] args){
print();
System.out.println("Print end!");
}
public static void print(){
int num=10;
for(int i=0;i<num;i++){
System.out.println(i);
if(i==2)
continue;//替换break,return
System.out.println("i="+i);
}
System.out.println("Print starting!");
}
}