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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zmttt 中级黑马   /  2015-12-5 22:14  /  1210 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
if (i == j) {
break;
}
System.out.println("i=" + i + ", j=" + j);
}
}

14 个回复

倒序浏览
求分析过程
回复 使用道具 举报
i=1 j=0
i=2 j=0
i=2 j=1
如果两个数相等,break就是跳出内循环
回复 使用道具 举报

首先 i=0  j=0时 i==j结果为true,执行break,直接跳出内循环,开始下一个外循环;
然后i=1  j=0时 i==j结果为false 执行打印语句i=1   j=0,内循环继续,i=1 j=1时,i==j结果为true,执行break跳出内循环,继续外循环;
最后i=2 j=0和i=2 j=1时,i==j结果都为false,都会执行打印语句,当i=2 j=2时,i==j结果为true,执行break;跳出循环
所以最后结果只有三个:
i=1     j=0
i=2     j=0
i=2     j=1
回复 使用道具 举报 1 0
楼上正解,break是跳出循环(当前循环体),continue是到循环尾(当前循环体)
回复 使用道具 举报
本帖最后由 胖小子 于 2015-12-6 11:46 编辑

for (int i=0; i<3; i++) {              //外层   有 3次循环
      for (int j=0; j<3; j++) {        //内循环3次              //也就是说 一共9次
            if (i == j) {                    //每次i j 进行判断
                break;
             }
           System.out.println("i=" + i + ", j=" + j);
    }
}第一次:   i==j  break;  不输出i = 0 ; j =0;
第二次:   i!= j       i = 1 ; j =0;输出 i = 1 ;j==0;
第三次:   i==j      i = 1 ;j==1; 不输出 i = 1;j==1;
第三次:   i !=j      i =2 ;j =0;  输出 i = 2 ; j = 0;
第四次:  i != j     i=2;j=1; 输出  i=2;j=1;
第五次 : i==j    i=2;j=2; 不输出 i =2;j=2;
回复 使用道具 举报
其实 也就是i != j 的时候 就输出 ,等于的话 就break了 跳出内循环了
回复 使用道具 举报
从上往下一步步分析就好了
回复 使用道具 举报
i=1 j=0
i=2 j=0
i=2 j=1

敲了一遍,我也跟着学习了
回复 使用道具 举报
break会直接跳出内循环,直接外循环下一个值
i=0 j=0直接跳出到i=1
i=1 j=0 输出
i=1 j=1直接跳出到i=2
i=2 j=0 和i=2 j=1 都输出
i=2 j=2跳出然后整个结束
回复 使用道具 举报
break是跳出内循环,懂这个就不难了,谢谢楼上各位,学习了!
回复 使用道具 举报
break;continue;return
回复 使用道具 举报
耿帅东 发表于 2015-12-6 12:40
从上往下一步步分析就好了

你这不是扯呢,人家要分析过程
回复 使用道具 举报
get and look look
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马