谢谢,能不能再问个问题,待会采纳你的
if语句这两个区别,为什么一个可以、一个不可以编译
if(true)
int x=1;
if(true)
{ int x=1; }
这个问题我也纠结了一天啊....
翻了好多笔记然后请教大神之后,我是这么理解的:
if语句去掉大括号之后只能跟一句语句(说俗点就是一行代码),如果在这个时候定义一个局部变量,java的底层会自动判断定义的这个变量没有意义,因为刚创建出来就要消亡,这是一种无意义的浪费资源,不被java所允许,所以编译会报错.
好的,谢谢!