class HelloWorld {
public static void main(String[] args) {
int sum;
for (int i = 0; i < 10; i++) {
if (i == 9) {
sum = 10;
}
}
System.out.println(sum);
}
}
为什么这段代码会出现这个错误?
HelloWorld.java: 9:错误:变量sum可能没有被初始化System.out.println(sum);
我们可以查看代码,直观地推断出< code>sum在使用时将始终有一个值,因为循环将始终执行,并且其中一次迭代将满足< code>if条件。
但是编译器不会直观地推理任何这些。它看到一个循环和一个条件块,它不能保证sum
在使用时将具有值。对于编译器来说,循环可能会迭代0次,或者条件可能永远不会是true
。
基本上,我们可以在头脑中“测试代码”并预测其结果。但是编译器不会测试代码,不管代码有多简单。
您可以通过简单地初始化值来纠正问题:
int sum = 0;
为什么会引发主线程上的网络异常?its在异步任务上 } 编辑: 完整代码: logcat:
我使用的是linux服务器,我已经安装了xamp服务器,当我尝试运行时/opt/lampp/lampp状态我发现正在启动Linux 7.2的XAMPP。3-0... XAMPP:正在启动Apache。。。失败XAMPP:另一个web服务器已在运行。XAMPP:正在启动MySQL。。。好啊XAMPP:正在启动ProFTPD。。。已经在运行了。在cli上 之后,我使用。/opt/lampp/lampp
我运行这段代码的时候,点击部件就会出现 Uncaught TypeError: Cannot read properties of undefined (reading 'position')at VertexEnumerator.js:87:28 这样的错误
第二种情况有什么问题? 未捕获的TypeError:x.toLocaleUpperCase在HtmlButtoneElement的f(:2:14) 在:5:25 处不是函数。执行按钮。onclick
当我运行这个程序时,为什么它调用带有字符串参数重载的方法。 如果我将我的方法重写为 它将显示空白控制台,这意味着它不是String的实例,那么它为什么以这种方式调用呢?