gpt4 book ai didi

java - 我初始化了局部变量,但仍然得到 "variable might not have been initialized"

转载 作者:行者123 更新时间:2023-11-30 04:06:39 26 4
gpt4 key购买 nike

在:

int i = 10;
int j;

if(i == 10) {
j = 100;
}

System.out.println(j);//error

我收到错误:

variable might not have been initialized

编译器不够智能,无法确定 j 的值,即使在上面的行中已将其显式定义为 int i = 10;

我认为,i 在编译时没有给定值,这就是我收到此初始化错误的原因。

int i 在运行时是否获取 10 作为其值?

最佳答案

因为i是局部变量,int i=10是在运行时执行的,所以在编译时,编译器不知道i<的值,这样编译器就无法判断if (i==10)一定为真,只能假设两个条件。如果 i 不等于 10,则 println 将使用未初始化的 j,这就是您收到错误的原因。

关于java - 我初始化了局部变量,但仍然得到 "variable might not have been initialized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com