从JLS
14.21。无法到达的陈述
如果由于语句无法访问而无法执行该语句,则是编译时错误。
和
如果if-then-else语句可以到达,则else语句可以到达。
您的if-then-else陈述是可及的。因此,根据定义,编译器认为else语句是可以到达的。
注意:有趣的是,以下代码也可以编译
// This is okif (false) { }这不是真的
while
// This will not compilewhile (false) { }因为的可达性定义
while不同(重点是我的):
当while语句可以到达 并且条件表达式不是其值为false的常数表达式时, 所包含的语句是可以到达的。



