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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢洋 高级黑马   /  2013-3-18 17:05  /  1328 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

break flag; 表示跳到flag标号处,我测试好像flag标记只能在break语句前,而不能在后后,大家做的是这样子?

6 个回复

正序浏览
还是不明,我也知道是跳出循环体,但好像用标志时,只能往循环体前面跳,而不能往后跳?这是为什么?可能是我表达清楚吧
for(int i = 0;i<9;i++){      //在要跳出的循环前加标记,然后在所加标记的循环里面的任
                             //何位置可以用break   flag;即可跳出加标记的循环
                  for(int j = 0;j<8;j++){
                     break flag;
                  }
           }
       xxxx语句1;
flag: xxxx语句2;我的意思是可让break跳循环体后面?这样子为什么不可以?

回复 使用道具 举报
是这样的break是结束本次循环,如果你有标记的话,那么就会跳出很次循环到标记,而不会再进入这个循环体!你明白吗?
回复 使用道具 举报
break只能跳出当前循环,要想跳到指定的外围循环  需用标记  z:是标记最外面的for循环   break z;表示跳出外围for循环


break只跳出当前循环,也就是内循环,如果想跳出外循环有两种办法:
1:for(int i = 0;i<9;i++){   //用两个break
         for(int j = 0;j<8;j++){
              break;
         }
         break;
     }
2:  flag:  for(int i = 0;i<9;i++){      //在要跳出的循环前加标记,然后在所加标记的循环里面的任
                             //何位置可以用break   flag;即可跳出加标记的循环
                  for(int j = 0;j<8;j++){
                     break flag;
                  }
              }
回复 使用道具 举报
我记得continue是结束本次循环,break是跳出当前循环。
回复 使用道具 举报
你的理解错了!

在java中break是结束循环语句的关键字。表示结束当前循环体。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马