黑马程序员技术交流社区

标题: break问题 [打印本页]

作者: \(^o^)/    时间: 2014-5-22 21:03
标题: break问题

  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);注释掉就能编译通过而不注释掉的话就显示编译失败,无法访问的语句。?


作者: love~陌    时间: 2014-5-23 00:46
亲爱的传智播客预热班同学,能不能先告诉我你的大名?
作者: love~陌    时间: 2014-5-23 00:48
下面回答这个问题:break的作用是终止循环,如果它后面循环体还有语句的话,那么这些语句是在break执行的时候是无法被执行到的,所以我目测你不是妹纸
作者: 杨韬略    时间: 2014-5-23 09:33
本帖最后由 杨韬略 于 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>           


作者: \(^o^)/    时间: 2014-5-26 01:08
love~陌 发表于 2014-5-23 00:46
亲爱的传智播客预热班同学,能不能先告诉我你的大名?

罗成。。。
作者: 唤月    时间: 2014-5-26 21:28
break;就跳出循环了,后面的代码java虚拟机将视为废物无语,将提示你编译错误
作者: Jero    时间: 2014-5-26 21:33
看你的需求了 不是所有的地方都要break
作者: love~陌    时间: 2014-5-28 22:10
\(^o^)/ 发表于 2014-5-26 01:08
罗成。。。

少侠,没找到你啊

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

座位表.jpg





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2