有一个练习题,我有以下代码:
while (false) { x=3; }
x=3 是无法访问的代码,我真的不明白为什么。有一段类似的代码:
if (false) { x=3; }
这是完全有效的。
可能是一个菜鸟问题,或者我只是错过了一些东西,但如果你能帮助我理解为什么那会很棒,谢谢!
我专门询问 if 和 while 语句之间的区别,因为同一行代码更改为 if,有效并且可以编译。
有一个练习题,我有以下代码:
while (false) { x=3; }
x=3 是无法访问的代码,我真的不明白为什么。有一段类似的代码:
if (false) { x=3; }
这是完全有效的。
可能是一个菜鸟问题,或者我只是错过了一些东西,但如果你能帮助我理解为什么那会很棒,谢谢!
我专门询问 if 和 while 语句之间的区别,因为同一行代码更改为 if,有效并且可以编译。
阅读以下文章,它将回答您的问题: http ://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.21
当以下至少一项为真时,while 语句可以正常完成:
o while 语句是可访问的,并且条件表达式不是值为 true 的常量表达式(第 15.28 节)。
o 有一个可到达的 break 语句退出 while 语句。
如果 while 语句可访问且条件表达式不是值为 false 的常量表达式,则包含的语句是可访问的。