【发布时间】:2015-02-02 23:50:09
【问题描述】:
if ( year % 4 == 0 )
int i = 0;
else
int j = 0;
由于这行代码在eclipse中出现的语法错误是:
- 标记“int”的语法错误,删除此标记
- i 无法解析为变量
- 标记“int”的语法错误,删除此标记
- j 无法解析为变量
- 标记“=”的语法错误,删除此标记
我不知道为什么会这样。
根据我的观察,我认为在 if else 构造体中放置一个 int 声明正在实现它。
如果我在代码的前面声明 i 和 j 并运行程序,那么错误就会消失,如下所示:
int i; int j;
if ( year % 4 == 0 )
i = 0;
else
j = 0;
在这种情况下没有语法错误。为什么?
【问题讨论】:
-
我正在写一个答案;但由于它关闭了我不能。查看the if statement 的JLS,如果你上去你会看到
LocalVariableDeclarationStatement只能在Block中
标签: java syntax-error