You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java代码中continue语句为何表现得像break?循环异常排查

问题原因分析

你的代码陷入了死循环,导致输出停在12,具体原因:

  • 当i等于3时,if(i==3)条件触发,执行continue语句——这个语句会直接跳回while循环的条件判断处,完全跳过了后面的i++代码。
  • 此时i的值始终保持为3,循环条件i<=9永远成立,程序一直在循环判断i==3然后执行continue,再也不会执行输出或递增操作,所以输出到12后就停滞了。
修正方案

可以通过两种方式修复:

方案1:在continue前先递增i

public class Loops {
    public static void main(String args[]) {
       int i = 1;
       while (i<=9){ 
           if (i==3){
               i++; // 先让i递增,再跳过后续代码
               continue;
           }
           System.out.print(i);
           i++;
       }
    }
}

方案2:将i++移到循环开头,避免被跳过

public class Loops {
    public static void main(String args[]) {
       int i = 0;
       while (i<9){ 
           i++; // 先递增,再判断
           if (i==3){
               continue;
           }
           System.out.print(i);
       }
    }
}

内容的提问来源于stack exchange,提问作者ByteStorm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:02:34