java标签的使用

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:25:05
public class Test{
public static void main(String[] args){
label:
for(;true;){
label1:
for(int i=0;i<10;i++){
System.out.print(i);
if(i==5) break label;
continue label1;
}
}
}
}
结果是012345
如上述代码,其中执行continue label1;后,不是直接跳回到内层for循环开始处吗?为什么还会执行i++呢?

continue 关键字的意思是 遇到这个语句,继续for循环,continue 后的语句不执行了,并不是从头开始for循环。
如for(int i = 0 ;i < 5 ;i++){
if(i % 2 == 0){
continue ;
}
System.out.println(i) ;
}这个程序就是输出 5以内的奇数
i == 1 时 ,输出;i++
i == 2 时,continue ,不输出,i++ 继续for循环,而不是从头开始循环
...

至于break 则是跳出指定的循环。

再来看你的程序:
i == 1 时 ,输出1 继续label1的循环 i变为2
i == 2 时 ,输出 ...
同理 ...
i == 5 时, 遇到break label 跳出label 的循环 结束循环
输出当然是12345了