package com.condition.label;
/**
* @author Administrator 测试循环中标签的作用
*/
public class ConditionLabel {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int test = 0;
outer: // 标签outer必须紧接着循环语句,否则continue或break,编译会报错找不到标签
for (int j = 0; j < 9; j++) {
System.out.println("j = :" + j);
for (int i = 0; i < 9; i++) {
if (i < 7) {
System.out.println("i = :" + i);
} else if (i == 7) {
System.out.println("continue to outer...");
continue outer; // 进入下次外层循环
} else {
System.out.println("break to outer...");
break outer; //中断内外循环
}
}
}
}
}
输出如下:
j = :0
i = :0
i = :1
i = :2
i = :3
i = :4
i = :5
i = :6
continue to outer...
j = :1
i = :0
i = :1
i = :2
i = :3
i = :4
i = :5
i = :6
continue to outer...
j = :2
i = :0
i = :1
i = :2
i = :3
i = :4
i = :5
i = :6
continue to outer...
因为continue outer是进入下次外层循环,因此i的值永远不会为8,不会进入else,执行:System.out.println("break to outer...");
package com.condition.label;
/**
* @author Administrator 测试循环中标签的作用
*/
public class ConditionLabel {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
outer: // 标签outer必须紧接着循环语句,否则continue或break,编译会报错找不到标签
for (int j = 0; j < 5; j++) {
System.out.println("j = :" + j);
inside: // 标签inside必须紧接着循环语句,否则continue或break,编译会报错找不到标签
for (int i = 0; i < 3; i++) {
if (i < 1) {
System.out.println("i = :" + i);
} else if (i == 1) {
System.out.println("continue to inside...");
continue inside; // 进入下次内层循环
} else {
System.out.println("break to inside...");
break inside; //中断内循环
}
}
if(j < 2)
{
System.out.println("continue to outer...");
continue outer; // 进入下次外层循环
}
else if(j == 2)
{
System.out.println("break to outer...");
break outer; // 中断外循环
}
}
}
}
输出如下:
j = :0
i = :0
continue to inside...
break to inside...
continue to outer...
j = :1
i = :0
continue to inside...
break to inside...
continue to outer...
j = :2
i = :0
continue to inside...
break to inside...
break to outer...