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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhuwenjia 中级黑马   /  2015-11-26 23:03  /  609 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面的代码Test编译报错,但是if后加上{ }后即Test2,编译可以通过,这是为什么,求解答??
class Test {
        public static void main(String[] args) {       
                if(true)
                        int x ;        
                System.out.println("Hello World!");
        }
}

class Test2 {
        public static void main(String[] args) {
                if (true) {
                        int x ;
                }
                System.out.println("Hello World!");
        }
}

2 个回复

正序浏览
if(){}不是标准格式吗??
好吧 if() 默认执行下一行代码。
可以运行执行语句,不能运行声明语句。
至于为什么不能声明变量 我是真不知道。得要专业的人来解释。

以我们的理解就是 你如果只是执行 声明变量的话 就毫无意义了呀。
x只是if下的一个 局部变量。
声明以后也起不了作用 。
回复 使用道具 举报
哥们儿 第一个 if(true)   你后面的 ; 分号没有了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马