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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© \(^o^)/ 中级黑马   /  2014-5-22 21:03  /  1757 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. <P>class demo
  2. {
  3. public static void main(String []args)
  4. {
  5.    int i = 100;
  6.    while(true)
  7.    {
  8.     if ( i++ > 100 )
  9.      System.out.println(i);
  10.      break;
  11.      System.out.println(i);</P>
  12. <P>   }
  13.      System.out.println(i);</P>
  14. <P> }</P>
  15. <P>
  16. }</P>
复制代码
为什么把break上面的System.out.println(i);注释掉就能编译通过而不注释掉的话就显示编译失败,无法访问的语句。?

7 个回复

倒序浏览
亲爱的传智播客预热班同学,能不能先告诉我你的大名?
回复 使用道具 举报
下面回答这个问题:break的作用是终止循环,如果它后面循环体还有语句的话,那么这些语句是在break执行的时候是无法被执行到的,所以我目测你不是妹纸
回复 使用道具 举报
本帖最后由 杨韬略 于 2014-5-23 09:38 编辑

因为java是一门严谨的语言,当你的代码健壮性过低时,编译就会出现错误即不能通过。
break即跳出当前循环,后面的语句是不会被执行的!
看了你的代码你有两种解决方案:
(1)把break放到System.out.println(i);后面!
(2)在System.out.println(i);前面加上else   
(3)添加正确的“{”和“}”

以下是第一种解决方法:                          
<P>class demo
{
public static void main(String []args)
{
   int i = 100;
   while(true)
   {
    if ( i++ > 100 )
     System.out.println(i);
   
     System.out.println(i);
            break;//解决方法!
</P>
<P>   }
     System.out.println(i);</P>
<P> }</P>
<P>
}</P>  

以下是第三种解决方法:
<P>class demo
{
public static void main(String []args)
{
   int i = 100;
   while(true)
   {
    if ( i++ > 100 ){            //加上“{”号
     System.out.println(i);
        break;}                   //加上“}”号
     System.out.println(i);

</P>
<P>   }
     System.out.println(i);</P>
<P> }</P>
<P>
}</P>           

评分

参与人数 1技术分 +1 收起 理由
天涯追梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
love~陌 发表于 2014-5-23 00:46
亲爱的传智播客预热班同学,能不能先告诉我你的大名?

罗成。。。
回复 使用道具 举报
break;就跳出循环了,后面的代码java虚拟机将视为废物无语,将提示你编译错误
回复 使用道具 举报
Jero 中级黑马 2014-5-26 21:33:13
7#
看你的需求了 不是所有的地方都要break
回复 使用道具 举报

少侠,没找到你啊

座位表.jpg (149.41 KB, 下载次数: 35)

座位表.jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马