gpt4 book ai didi

java - 究竟是什么掩盖了 Java 中的编程错误?

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

在语言规范中它说:

local variables are definitely set before use. While all other variables are automatically initialized to a default value, the Java programming language does not automatically initialize local variables in order to avoid masking programming errors.

Java 中究竟是什么屏蔽了编程错误?

一个解释这个的例子,会很好。

谢谢

最佳答案

要理解这一点,您需要与 C/C++ 的做法进行比较。在 C/C++ 中,局部变量在声明时包含垃圾值。因此,如果您忘记赋值,编译器不会报错,并且对此类局部变量的所有引用都将使用垃圾值,从而导致意外行为。

在 Java 中,这样一个未初始化的局部变量会导致编译时错误,使开发人员在使用它之前明确地将其初始化为有意义的默认值。

C/C++

int do_something(int value) {
int i;
if (value > 10) {
i = value;
}

return i;
}

上面的代码片段在C++中有效,但在java中无效。

int doSomething(int value) {
int i;
if (value > 10) {
i = value;
}

//
// This line will throw a compile-time error that
// `i` may not have been initialized.
//
return i;
}

关于java - 究竟是什么掩盖了 Java 中的编程错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13687583/

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