问答详情
源自:4-9 Java循环语句之 for

两个循环语句,做同一个题,为什么结果不一样?

为什么结果不一样    int F1,s=0;    for(F1=0;F1<=10;F1++){         if((F1%3)!=0){     s+=F1;     }    }    System.out.println(s);    int F2=0,s2=0;        while(F2<=10){     F2++;     if(F2%3!=0){     s2+=F2;             }        }    System.out.println(s2);

提问者:qq_象之笑_04347073 2016-11-08 10:10

个回答

  • Coco柯柯
    2016-11-16 13:53:38

    while循环的时候f2++会多执行一次 变成37再加一次11  所以导致结果不一样

  • 慕函数4910142
    2016-11-11 10:59:53

    判定问题,++摆放位置

  • qq_象之笑_04347073
    2016-11-10 10:47:45

    还真是!谢谢大家了!

  • Dannylmz
    2016-11-08 17:53:55

    楼上的说的对,for循环的第三个表达式F1++是在循环体里面的代码执行完后才执行,即先执行if判断在执行F1++;只要把while里面的F2++放到if判断的后面,两个循环就会一样了。

  • yuanxiaolan
    2016-11-08 10:36:04

    第一个for循环,是先执行if判断,然后执行F1++,而第二个while循环是先执行F2++,再执行if判断

    你把顺序换一下,结果就一样了

  • 慕粉4304982
    2016-11-08 10:31:34

    第一个循环,执行最后一个循环的时候 F1=10

    第二个循环,执行最后一个循环的时候 F2=11