为了账号安全,请及时绑定邮箱和手机立即绑定

为什么if后面不加大括号就报错了

http://img1.sycdn.imooc.com//566a30ad0001b2a304490329.jpg

请问为什么会报错,然后我在if后面加了大括号就不报错了

正在回答

5 回答

if后面如果只跟一条语句是可以的, 这里报错是因为你声明了变量cat, 而变量必须要有作用域,这里的大括号就是用来限定cat的作用域的

Demo d;

 if(true) 

    d = new Demo();

这样因为上面已经确定该变量的作用域了,所以可以直接这样写,不报错


1 回复 有任何疑惑可以回复我~
#1

慕运维7819121 提问者

应该只有你的答案是对的,然而还是没太看懂= =
2015-12-12 回复 有任何疑惑可以回复我~
#2

慕运维7819121 提问者

是不是说,如果不加大括号,这个cat就是局部变量,就和if语句没有关系了,加了大括号,这个cat在if语句的块内,才符合要求?
2015-12-12 回复 有任何疑惑可以回复我~
#3

Jason333 回复 慕运维7819121 提问者

你可以这么理解,不加大括号Java虚拟机就不能确定这个cat变量的作用范围是在if里还是main函数里
2015-12-14 回复 有任何疑惑可以回复我~

顶三楼的

0 回复 有任何疑惑可以回复我~

if判断语句的格式就是if(){ }

0 回复 有任何疑惑可以回复我~

因为后面有else语句,如果没有就不会报错

0 回复 有任何疑惑可以回复我~

if是一个判断语句,根据条件判断内容,而且判断语句的格式就是if{ },括号里面添加内容。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么if后面不加大括号就报错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信