java - 变量的范围以 while 循环结束

标签 java variables while-loop scope

<分区>

我正在尝试 2 在 java 中创建一个项目,但这是我的问题的缩影。 我在 while 循环中初始化一个变量,现在一旦 while 循环结束,变量就会被取消设置,或者只是 a=7 不会被打印出来。除了使用 while 循环,我别无选择。我有 2 个获取已初始化的 a 的值。

package Hotel_room_reservation_system;
import java.awt.*;
import java.lang.*;
import java.io.*;
public class NewClass {

    public  NewClass()
    {
        int a;
        int z=0;
        while(z<10)
        {
            a=7;
            z++;
        }
        System.out.println(a);
    }
}

然后我创建一个这个类的新对象。

当前输出

变量a可能还没有初始化

要求的输出

7

帮助。

最佳答案

只需初始化您的变量a:

public NewClass() {
    int a = 0;
    int z = 0;
    while (z < 10) {
        a = 7;
        z++;
    }
    System.out.println(a);
}

public static void main(String[] args) {
    new NewClass();
}

在 Java 中,类和实例变量假定一个默认值(null0false)如果它们不是手动初始化的。

但是,局部变量 没有默认值。除非局部变量已被赋值,否则编译器将拒绝编译读取它的代码。

关于java - 变量的范围以 while 循环结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39047292/

相关文章:

c++ - 为什么 while (true) 在收到无效输入时会跳过 cin?

java - 'else' 中的语句被打印多次,但我希望当 'if' 错误时它只打印一次

java - 将双值写入 TextView

java - 如何在 Java 中编写集合的交集和并集方法

java - 每当调用任何父类(super class)的构造函数时,使子类执行某些操作

linux - 我如何使用一组指令的输出来创建一个新变量?

java - 自动调整 JPanel 大小而不使用 BorderLayout.CENTER

python - 未绑定(bind)本地错误 : local variable 'player' referenced before assignment

java - 为什么引用静态变量时要包含类名?

c - 无法跳出 "while"循环 - C