在if语句之前初始化一个int变量

时间:2017-02-28 23:41:35

标签: java

编译时,我收到错误,指出我的变量尚未初始化。

代码:

MyClass

为什么数字未初始化?

我把int number = 0; 但是当我打印时,无论输入的值是什么,它都保持在0?

喜欢人们如何投票。一个刚接触java问题的学生被低估了。不错的网站

2 个答案:

答案 0 :(得分:1)

您需要放置int number = 0,因为您无法确定IF语句是否已执行。这是您的代码的预防措施。

另外,如果您考虑一下,如果它保持为0,则表示您实际上没有进入IF语句。

尝试将其放入并检查dotted变量是否实际为真。

同时检查您的变量input,因为它是更改number变量的变量。

答案 1 :(得分:0)

  

为什么数字未初始化?

简单地说,因为如果if statements都没有执行,那么number变量将永远不会被初始化。因此,变量将没有值,这就是您收到以下错误的原因:

  

编译时我得到一个错误,说明我的变量没有   初始化。

另外,请记住在方法退出之前必须初始化局部变量。

考虑到这一点,你必须至少给变量低于默认值:

int number = 0;
  

我把int number = 0;但是当我打印时,无论价值如何   输入它保持为0?

如果属于这种情况,那么这意味着您永远不会进入if statement。因此,您可能需要再次考虑if statement表达式。