gpt4 book ai didi

java - Java类中的 "int variable = 0;"和 "int variable; variable = 0;"有什么区别?

转载 作者:行者123 更新时间:2023-12-01 19:44:50 29 4
gpt4 key购买 nike

我有两个版本的代码。

版本 1

Launcher.java

class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();

game.start();
}
}

Player.java

class Player {
int randomNumber = 0;

public void roll(){
randomNumber = (int) (Math.random() * 10);
}

}

LuckyNumber.java

class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();

game.start();
}
}

版本 2

Launcher.java

class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();

game.start();
}
}

Player.java

class Player {
int randomNumber;
randomNumber = 0;

public void roll(){
randomNumber = (int) (Math.random() * 10);
}

}

LuckyNumber.java

class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();

game.start();
}
}

第一个版本的代码编译没有问题,但第二个版本的代码无法编译,编译器显示以下错误:

.\Player.java:4: error: <identifier> expected
randomNumber = 0;
^
.\Player.java:4: error: cannot find symbol
randomNumber = 0;
^
symbol: class randomNumber
location: class Player
2 errors

所以问题是为什么:

int variable;
variable = 0;

与以下内容不同:

int variable = 0;

有什么区别?

最佳答案

两者是相同的,但仅当它们位于一个方法中时。

就您而言,在方法之外初始化变量而不声明它们是无效的。

关于java - Java类中的 "int variable = 0;"和 "int variable; variable = 0;"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794698/

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