黑马程序员技术交流社区

标题: 蒙了...关于while(flag) [打印本页]

作者: qiucheng1990    时间: 2012-10-25 19:39
标题: 蒙了...关于while(flag)
try{}catch(){}算一个完整的语句吗,我的意思是它相当于有分号的语句吗。这个while(flag)的循环体是什么啊,貌似老师讲while后遇到第一个分号就再循环了

问题.png (52.21 KB, 下载次数: 191)

程序的部分截图

程序的部分截图

作者: up_    时间: 2012-10-25 19:58
算,while循环体就是下边的一行,包括try{  }catch(){ }
作者: 李连闯    时间: 2012-10-25 21:08
省略了大括号的写法(减少了一对大括号,可以让代码看起来更简洁些),如果while或者if大括号不加的话,那么while或者if判断结果为true的话,执行的就是紧随其后的第一句话,为false的话,紧随其后的第一句话不会执行。
作者: 崔政    时间: 2012-10-25 22:27
本帖最后由 cz2861856 于 2012-10-25 22:30 编辑

2楼真相。
省略的写法,在前面的视频中,毕老师提到过的啊
如果下面只有一条执行语句,就可以省略花括号
  1. public class Test2 {
  2.         public static void main(String []args){
  3.                 int a=5;
  4.                 if(a==5)
  5.                         System.out.println("a==5");
  6.                 else
  7.                         System.out.println("a!=5");
  8.                
  9.                 for(int i=0;i<10;i++)
  10.                         System.out.println(i);
  11.         }

  12. }
复制代码
你那个什么try{}catch{} 你的意思是算不算一个;一条语句。
好像性质不同吧,但貌似你可以这么理解。比如说下面的代码。
  1. while(true)
  2.                         for(int i=0;i<10;i++){}
复制代码

作者: zdf091119    时间: 2012-10-26 09:13
学习了,之前一直都是加个括号,也没去实验
作者: 一身顺利    时间: 2012-10-26 09:24
try{}catch(){}当然算,当while语句循环体只有一行的时候,后面的大括号可以省略,向if语句也可以的。
作者: 高正新    时间: 2012-10-26 09:59
可以这样想
while(flag)
    this.wait();
这样while就结束了。
但是this.wait();这句话必须做异常处理,所以加了try catch。
本质没有变化




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