关于java的continue语句

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:44:34
请看程序:
outer:for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
if(j>i) {
System.out.println();
continue outer;
}
System.out.print(""+(i*j));
}
}
这段的执行结果是
0
01
024
0369
0481216
0510152025
061218243036
07142128354249
0816243240485664
091827364554637281
问题1:if(j>i) 这里i=0,j=0那么不会执行if语句后的代码块?因为if括号内不成立?
问题2:continue outer是不是说继续循环outrt:后面的循环语句?也就是for(int i=0;i<10;i++) ?
问题3:我就是不懂为什么会是这样的执行结果..希望知道的朋友解释一下,不胜感激

continue的作用就是,结束本次循环,继续下一次循环.后面有冒号,就是结束直接跳转到冒号的地方.
当i=0,j=0.并未执行if里面的语句.所以执行完System.out.print(""+(i*j)); 继续内层循环.然后if的条件成立.执行continue,程序跳转至outer的位置.继续外层循环.

outer:for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
if(j>i) { //当j>i时
System.out.println(); //输出换行
continue outer;
//结束本次循环,继续下一次循环outer:.
//相当于goto语句,跳转到outer标号后的语句开始执行下一次循环
}
System.out.print(""+(i*j)); //输出i*j
}
}

我只告诉你一点,continue是跳出当前成立的一句不执行,而是执行其他不成立的语句或条件。