我最近在一些Java代码中看到了这一点:
int pos = -1, ch;
与
相同int pos, ch = -1;
答案 0 :(得分:2)
不,第一个代码段仅使用pos
初始化-1
并使ch
保持未初始化状态。第二个是反过来使pos
未初始化而ch
的值为-1
。但在任何一种情况下,都会创建ch
和pos
,您可以设置或更新其值。
答案 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。在使用未初始化的值之前,应为它们分配一些值。