public static void main(String[] args){
        int i = 0;
         for(i =0;i <10;i++){
           if(i%2==0)
            continue;
            i =i+1;
            if(i==5)
           break;
}
          System.out.println(i);
     }
各位大神看看吧,结果是什么。知道的帮忙解释解释吧

解决方案 »

  1.   

    public static void main(String[] args) {
    int i = 0;
    for (i = 0; i < 10; i++) {
    if (i % 2 == 0)// 过滤掉偶数
    continue;
    i = i + 1;// 最后一个循环i=9,执行完之后i=10,然后再执行i++,就是i=11,然后就print了
    if (i == 5)// 奇数+1肯定是偶数,肯定不是5,所以这个屁用没有,纯龙套
    break;
    }
    System.out.println(i);
    }
      

  2.   

    结果是11呀,你的程序刚开始判断是否是2的倍数在整个过程只执行了一次也就是i=0;然后执行i=i+1;至于那个break语句就没有执行到,循环体末尾在执行i++;所以程序的循环体开始时i的值为:
    0 1 3 5 7 9你可以在程序开始时打印i的值,然后就明白了。
      

  3.   

    只要明白在if(i==5)之前i是什么数字就明白了,0 2 4 6 8 10 所以if(i==5)是永远执行不到的。所以当for结循环的条件是i等于11.
      

  4.   

    i的值是0 1 3 5 7 9全是基数,执行完之后i=10,然后再执行i++,就是i=11,所以结果是11