小编pel*_*ele的帖子

22
推荐指数
3
解决办法
2万
查看次数

为什么Java编译器会抱怨本地变量未在此处初始化?

int a = 1, b;
if(a > 0) b = 1;
if(a <= 0) b = 2;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)

如果我运行这个,我收到:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
 The local variable b may not have been initialized

 at Broom.main(Broom.java:9)

我知道局部变量没有初始化,你有责任这样做,但在这种情况下,第一个if不初始化变量?

java variables compiler-errors initialization variable-assignment

3
推荐指数
2
解决办法
2000
查看次数