黑马程序员技术交流社区
标题: 这个程序是怎么运行的 [打印本页]
作者: 刘永贵 时间: 2014-3-16 17:01
标题: 这个程序是怎么运行的
public class MyClass{
public static void main(String argv[]){
int i;
int j;
outer: for (i = 1; i < 3; i++)
inner: for(j = 1; j < 3; j++) {
if (j == 2)
continue outer;
System.out.println
("Value for i = " + i + " Value for j = " +j);
}
}
}
这个程序是怎么运行的
作者: osully 时间: 2014-3-16 17:11
1 1
2 1
j=2的时候 就继续外循环 不打印
那个 inner: outer: 用来标记 ,
可以用 break 和 continue 来跳转到这个标记
作者: optimisticpig 时间: 2014-3-16 17:15
开始时顺序执行,当内循环j=2时,if语句满足条件执行continue outer;语句,直接跳转到外循环outer:for (i = 1; i < 3; i++)(此时i自增一次,值为2);再次执行内循环,j=2时继续跳转到外循环,i再次自增,值为3,条件不满足程序结束
作者: 孟祥钰 时间: 2014-3-16 17:29
本帖最后由 孟祥钰 于 2014-3-16 17:48 编辑
- public class MyClass
- {
- public static void main(String argv[])
- {
- int i;
- int j;
- outer: for (i = 1; i < 3; i++)
- inner: for(j = 1; j < 3; j++)
- {
- if (j == 2)
- continue outer;
- System.out.println("Value for i = " + i + " Value for j = " +j);
- }
- }
- }
复制代码
定义两个变量i和j
用标号outer,inner分别标了外循环和内循环
先进行outer:for外循环
i=1满足i<3
进入inner for内循环
j=1 满足j<3
输出Value for i = 1 Value for j = 1
然后先进行j++运算
再进入inner:for内循环
此时j的值是2
满足if语句中的j==2条件
执行continue outer;
结束inner:for内循环
跳转到outer:for外循环
进行i++运算
此时i的值变为2
仍满足i<3
进入inner:for内循环
j=1 满足j<3
输出Value for i = 2 Value for j = 1
然后先进行j++运算
再进入inner:for循环
此时j的值是2
满足if语句中的j==2条件
执行continue outer;
结束inner:for循环
跳转到outer:for循环
进行i++运算
此时i的值变为3
不满足x<3的条件
程序结束
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |