黑马程序员技术交流社区

标题: 省略花括号的危险 [打印本页]

作者: 舒远    时间: 2012-9-7 20:33
标题: 省略花括号的危险
  1. class Cat{
  2.         private static long instanceCount = 0;
  3.         public Cat(){
  4.                 instanceCount ++;
  5.         }
  6.         public static long getInstanceCount(){
  7.                 return instanceCount;
  8.         }
  9.         
  10.         public static void main(String[] args){
  11.                 for(int i=0;i<10;i++)
  12.                          Cat cat = new Cat();//此行编译会报错,如下图
  13.                 System.out.println(Cat.getInstanceCount());
  14.                
  15.         }
  16. }

  17. 原因:java语言规定,for,while,或do循环中的重复执行语句不能是一条单独的局部变量定义语句,如果程序要使用循环来重复定义局部变量,这条局部变量定义语句必须放在花括内才有效。
复制代码

QQ截图20120907202837.jpg (14.87 KB, 下载次数: 36)

QQ截图20120907202837.jpg

作者: 张飞年    时间: 2012-9-7 21:53
嗯 就是,不光是在while for do 中在if   else 等语句中,也不建议省略,省略虽然可以简写两个括号,但不会增加程序的执行效率,如果一旦是这里出错,编译不会报错,到时候真的是死都 不知道是哪 死的,费好大劲找错,我认为,所有那怕是最简单的语句也不要略写,写全了,略写的作用在于能读懂别人的程序就行,自己不要用。
作者: 张飞年    时间: 2012-9-7 21:54
嗯 就是,不光是在while for do 中,在if   else 等语句中,也不建议省略,省略虽然可以简写两个括号,但不会增加程序的执行效率,如果一旦是这里出错,编译不会报错,到时候真的是死都 不知道是哪 死的,费好大劲找错,我认为,所有那怕是最简单的语句也不要略写,写全了,略写的作用在于能读懂别人的程序就行,自己不要用。




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