<分区>
如果我有这样的代码
public static void main(String args[]){
int x = 0;
while (false) { x=3; } //will not compile
}
编译器会提示 x=3
是无法访问的代码,但如果我有这样的代码
public static void main(String args[]){
int x = 0;
if (false) { x=3; }
for( int i = 0; i< 0; i++) x = 3;
}
虽然 if 语句
和 for 循环
中的代码无法访问,但它会正确编译。为什么 java 工作流逻辑没有检测到这种冗余?任何用例?