Java中的语法错误
由于这一行代码,eclipse中出现的语法错误有:Java中的语法错误,java,syntax-error,Java,Syntax Error,由于这一行代码,eclipse中出现的语法错误有: 令牌“int”上出现语法错误,请删除此令牌 我无法解析为变量 令牌“int”上出现语法错误,请删除此令牌 j不能解析为变量 令牌“=”上出现语法错误,请删除此令牌 我不知道为什么会这样 从我观察到的情况来看,我认为在if-else构造体中加入int声明是实现这一点的原因 如果我在代码前面声明i和j并运行程序,则错误会消失,如下所示: if ( year % 4 == 0 ) int i = 0; else int j = 0
- 令牌“int”上出现语法错误,请删除此令牌
- 我无法解析为变量
- 令牌“int”上出现语法错误,请删除此令牌
- j不能解析为变量
- 令牌“=”上出现语法错误,请删除此令牌
if ( year % 4 == 0 )
int i = 0;
else
int j = 0;
在这种情况下没有语法错误。为什么?可能是因为范围。在if中声明i和j会使它们在if语句之外无法访问。将它们宣布在其范围之外会改变它们的范围。我正在写一个答案;但既然关门了,我就不能去了。查看JLS,如果向上看,您将看到
LocalVariableDeclarationStatement
只能位于块中
int i; int j;
if ( year % 4 == 0 )
i = 0;
else
j = 0;