在一行中无序声明多个变量

时间:2016-09-27 20:08:36

标签: java

我最近在一些Java代码中看到了这一点:

int pos = -1, ch;

相同
int pos, ch = -1;

3 个答案:

答案 0 :(得分:2)

不,第一个代码段仅使用pos初始化-1并使ch保持未初始化状态。第二个是反过来使pos未初始化而ch的值为-1。但在任何一种情况下,都会创建chpos,您可以设置或更新其值。

答案 1 :(得分:1)

我会说是的......唯一的区别就是你正在初始化(在第一个语句中你为第一个变量赋值,而其他左边没有变化,因此只有第一个变量初始化为value而其他只是保留int类型的引用变量)第二种陈述也是如此......

如果你说:

int x=10,y;

这里x初始化为值10,y初始化为默认值(即0但编译器将抛出编译错误“变量y可能尚未初始化!”)

但如果你说

int x,y=10;

然后将x设置为默认值(即0再次编译将抛出编译错误变量x未初始化!)并且y设置为值10

这里无关紧要的是x和y的出现顺序..希望澄清! :D

答案 2 :(得分:0)

在两个行中都创建了两个变量。在第一个中,只有pos初始化为-1,而在第二个中,只有ch初始化为-1。在使用未初始化的值之前,应为它们分配一些值。