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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qiucheng1990 中级黑马   /  2012-10-25 19:39  /  3948 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

try{}catch(){}算一个完整的语句吗,我的意思是它相当于有分号的语句吗。这个while(flag)的循环体是什么啊,貌似老师讲while后遇到第一个分号就再循环了

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

程序的部分截图

程序的部分截图

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

6 个回复

倒序浏览
up_ 中级黑马 2012-10-25 19:58:16
沙发
算,while循环体就是下边的一行,包括try{  }catch(){ }
回复 使用道具 举报
省略了大括号的写法(减少了一对大括号,可以让代码看起来更简洁些),如果while或者if大括号不加的话,那么while或者if判断结果为true的话,执行的就是紧随其后的第一句话,为false的话,紧随其后的第一句话不会执行。
回复 使用道具 举报
本帖最后由 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++){}
复制代码

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

回复 使用道具 举报
学习了,之前一直都是加个括号,也没去实验
回复 使用道具 举报
try{}catch(){}当然算,当while语句循环体只有一行的时候,后面的大括号可以省略,向if语句也可以的。
回复 使用道具 举报
可以这样想
while(flag)
    this.wait();
这样while就结束了。
但是this.wait();这句话必须做异常处理,所以加了try catch。
本质没有变化
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马