- 论坛徽章:
- 0
|
public class Mark
{
public static void main(String argv[])
{
int i,j;
Loop1:
for (i=1;i<=5;i++)
{
Loop2:
for (j=1;j<=5;j++)
{
if (j == 3)
break Loop2;
if (i == j)
continue Loop1;
System.out.println(i+"*"+j+"="+i*j);
}
}
}
}
这个程序的结果为 在屏幕打印出:
2*1=2
3*1=3
3*2=6
4*1=4
4*2=8
5*1=5
5*2=10
在这个程序里面我有几点不太明白,就是程序的一个流程。
首先,让i和j都等于1的时候 将返回loop1 ,此时i++ 为2 ,那j做不做j++呢?
第二个问题。如果i=j以后,是继续执行loop2里面的循环。还是 loop1和loop2同时执行呢。
第三个问题。当i=4,j=3的时候,如果在往下继续执行程序。那j将会变为初始值1,但是那样的话。就永远也执行不了j=i的语句了啊。这个地方程序是怎么处理的呢。是不是虽然
j=3了。执行了break loop2了,但是j仍然是执行自增的。只不过不执行println这个语句呢。
我问的这些问题可能很难用语言表达清楚。如果高手能帮我把这个程序的流程仔细点讲解一下,不胜感激。到底这个程序是怎么循环的。 |
|