变量声明并不是真正的语句

类别:Java 点击:0 评论:0 推荐:
标题是什么意思呢?可能有人说我是瞎说,看看下面你就会明白了!
例子
         if(true)
               String s=new String ("hello world");
        就这样两句,如果你在你的程序里能够通过编译,那算你厉害,为什么通不过呢?原因就是第2行语句,并不是一个有效的语句,因为在if里声明的局部变量只能在if语句包围的范围引用,而上面的写法,说明if语句只包含一个变量的声明,也就是说声明的这个变量没有一点作用,当然编译器就不会通过编译了.
       但是编译器也是足够的傻,看看下面就知道了
         if(true){
               String s=new String ("hello world");
          }
        这样写就可以通过编译,和上面的只差一个花括号,把语句括起来,编译器就会以为它是一个语句快,而不管实际中它是不是.你说编译器傻不傻!

本文地址:http://com.8s8s.com/it/it13758.htm