Java中变量的作用域

ljsrvy3e  于 2023-09-29  发布在  Java
关注(0)|答案(1)|浏览(90)

the code and the error由于每个变量作用域m(未初始化)不应该有一个值在里面,这是正确的,我得到一个错误,但当你初始化一个变量,然后在迭代结构内的条件结构中使用它,它可以得到你提供的任何值。
为什么呢?不管变量的初始化如何,它的作用域不应该保持不变吗?
如果我声明int a并在if条件中给予它一个值,if条件在for循环中,它没有得到值,保持未初始化,但如果初始化它,int a=0;然后在for循环中的if条件内给予它任何值,它确实会得到我给它的值。

m1m5dgzv

m1m5dgzv1#

我将向您推荐以下文章,您也可以在这里找到示例:
https://www.baeldung.com/java-error-variable-initialized#:~:text= This%20error%20occurs%20only%20for,the%20use%20of%20uninitialized%20variables.
文章摘要:如果我们声明一个没有初始值的局部变量,我们会得到一个错误。这个错误只会发生在局部变量上,因为Java在编译时会自动将示例变量置为false(它为整数设置0,为布尔值设置false,等等)。但是,局部变量需要一个默认值,因为Java编译器不允许使用未初始化的变量。
我希望它能帮助

相关问题