Ade*_*eeb 5 java syntax semantics
以下方法无法在Java中执行,因为该变量在使用时i可能保持未初始化状态.这是语法或语义问题吗?
i
public int odd( boolean b ){ int i; if( b ){ i = 3;} return i; }
我以为它会是语义,但根据我的讲师,这是一个语法错误.这是正确的,为什么?
Ern*_*ill 8
这是Java编译器检测到的错误,但它不是语法错误; 根据Java语法,它完全有效.它在分析的后期阶段被检测到,使其成为语义错误.
也就是说,听起来你的教师想要将任何编译器错误定义为语法错误,并且可能希望"语义错误"表示在运行时出错的东西.由于教练对作业进行评分,因此您不得不接受他的定义(即使它们完全错误,就像在这种情况下一样;)).
归档时间:
13 年,11 月 前
查看次数:
1880 次
最近记录:
13 年,2 月 前