A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

马超happy519

初级黑马

  • 黑马币:0

  • 帖子:8

  • 精华:0

© 马超happy519 初级黑马   /  2012-11-19 12:55  /  1468 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 马超happy519 于 2012-11-20 11:10 编辑

程序如下:
public class J_Test
{
  public static void main(String[] args)
{
  int sum = 0;
  outer:
   for(int i = 1; i<10; i++)
   {
   inner:
    for(int j = 1; j < 3; j++)
    {
     sum += j;
     if (i + j>6)
     {
      continue inner;
     }
    }
   }
  System.out.println("sum = " + sum);
}
}
我认为当 i 等于5时,内循环会一直计算下去,但运行结果是sum = 27。想知道内循环如何结束,求解。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
continue 用法和break一样。电脑直接把continue inner;看成continue;  而continue用法是 跳过你的if语句,重新开始for循环。
回复 使用道具 举报
使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。
而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。continue 用于跳过循环体中的一部分语句,也就是不执行这部分语句
return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句。
所以continue inner; 是跳出本次的inner循环并判断j 是否大于3 如果大于3就不走inner循环接着走外循环。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
  1. class J_Test
  2. {

  3.      public static void main(String[] args)
  4.      {
  5.         int sum = 0;
  6.         outer:
  7.         for(int i = 1; i<2; i++)
  8.         {
  9.             inner:
  10.             for(int j = 1; j < 3; j++)
  11.             {
  12.                                 System.out.println("j="+j);
  13.                                 if (j==1)
  14.                                  {
  15.                                         continue inner;/*continue 结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。
  16.                                                                   这个例子中,尚未执行的部分语句是System.out.println("i="+i);
  17.                                               继续执行j++,而不是执行int j=1*/
  18.                                  }
  19.                                  System.out.println("i="+i);
  20.                     }
  21.             }

  22.      }
  23. }
复制代码
对照这个,你再分析你那个就明白了

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
明白了,多谢各位{:soso_e100:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马