本帖最后由 王桂丽 于 2012-7-22 19:03 编辑
/*
需求:1、查看continue的特点:结束本次循环,继续下一次循环
2、查看continue怎样执行
思路与步骤:1、通过两个for循环,当在内循环遇到continue后看是否会结束内循环,
开始执行外循环
2、在内循环continue之前打印y的值,为了区分,设为y1,查看在遇到continue
之前,语句如何执行
3、在内循环continue之后打印y的值,设为y2,查看当遇到continue后,语句如何执行
*/
class Continue
{
public static void main(String[] args)
{
for(int x=0;x<3;x++) //设置外层循环
System.out.println("x="+x);
{
for(int y=0;y<4;y++)//设置内层循环
{
System.out.println("y1="+y);//打印y的值,为了与continue语句之后的y的值区分,用y1接收
continue;
// System.out.println("y2="+y);//打印在遇到continue之后,y的值变化,并用y2接收
}
}
}
}
一、暂不执行continue之后的值时的结果
file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/2531988876/QQ/WinTemp/RichOle/2QO7U{9GQ`Z$X]B_}9EYOHU.jpg
疑问:为什么遇到continue没有结束内循环,转而执行外循环?为什么不是以下结果?
x=0
y=0
x=1
y=0
x=2
y=0
class Continue
{
public static void main(String[] args)
{
for(int x=0;x<3;x++) //设置外层循环
{
System.out.println("x="+x);
for(int y=0;y<4;y++)//设置内层循环
{
System.out.println("y1="+y);//打印y的值,为了与continue语句之后的y的值区分,用y1接收
continue;
System.out.println("y2="+y);//打印在遇到continue之后,y的值变化,并用y2接收
}
}
}
}
二、继续执行continue之下的语句编译时的结果
file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/2531988876/QQ/WinTemp/RichOle/V2{I~II(4(BNLV{(}1XFS%T.jpg
疑问:为什么无法访问continue之后的语句?如果continue之下的语句均无效,那也应该可以编译只是执行时执行不到该语句而无法输出啊。具体原因是什么?最后能解释一遍执行顺序,谢谢!
|
|