public class test
{
public static void main (String[] args)
{
for(int i=0;i<9;i++)
{
if(i==4)
{
i-=2;
continue;
}
System.out.println(i);
}
}
}
这段代码为什么输出的是3
第一次循环i=1、2、3都是正常输出
当i=4时,进入if里面,i-=2,结果i=2,continue的作用是跳过下面的内容,直接开启下一次循环,也就是不会输出i=2,直接进行i++,
然后i=3,正常输出,再次循环i=4,就回到上一次的i=4的过程,就变成了死循环,并不断输出3
continue跳出本次循环进行下一次循环 i等于4的时候,i-=2 然后i=2 然后i++等于3 输出为3 然后i++为4 就会进入一个死循环 最开始输出了1,2 只是太快了 你没看见
#include "StdAfx.h"
#include
using namespace std;
int main(void)
{
int i=0;
for (i=0; i<100; i++)
{
if (i==0)
{
continue;
}
}
//while循环是死循环
//int j=0;
//while (j<100)
//{
// if (j......<br/><strong>答案就在这里:</strong><a target='_blank' rel='nofollow' href='http://blog.csdn.net/brk1985/article/details/19079163'>for循环和while循环在使用continue时有所区别</a><br/>----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
刚开始输出0,1,2,3都是正常,后面i=4 进入判断 i先-2然后continue结束当前循环进入下次循环i自增1等于3,直接输出3,i=4就进入判断循环,以至于死循环。可以下断点看下就知道了
程序的输出应为1,2,3,3,3,3,3,3,3。。。。一直循环3,Continue的作用是跳过本次循环,直接开启下一次循环,也就是说到了i=4后,执行i-=2使得i=2这时continue发挥作用跳过本次循环,重新执行for里面的判断条件并i++,又进入i=3的循环了,就是这样