以下代码没有给出compile-error Unreachable statement。
if(true)return;
int x;
多年以来,我一直相信这是因为编译器对给定的条件没有给予太多的关注。
今天我发现编译器了解条件,
int x;
if (true) {
x = 0;
}
int y = x;
因为如果不这样做,将会导致另一个compile-error variable x might not have been initialized。实际上,它可以编译并完美运行。所以,
Java编译器是否理解if语句中给出的条件?
相关分类