我目前正在Java学习期末考试,并希望对某些事情获得第二意见。(有些人可能从一两天前记得我)无论如何,关于练习考试的问题是:
代码中有什么错误?
boolean good = true
while(good = true){
//do stuff
}
我觉得这是一个诀窍,因为显而易见的答案是这是一个无限的循环。但是,我们不知道循环内部的代码将是什么代码,因此可能会有一个中断声明或其他形式从循环中退出的形式。对于我的回答,我写道条件不需要是实例化,它可以读到" while(良好){"
你怎么看?非常感谢您。
while (good = true)
是无限环路。它将true
分配给good
,然后评估true
。正确的循环是while (good == true)
或 while (good)
正如他人指出的那样,问题是您是 realsigning 良好的值,每次循环迭代时。
这正是许多专业开发人员会写出他们的陈述向后喜欢
的原因while ( true == good )
vs
while ( good == true )
和
if ( null == a )
vs
if ( a == null )
当时的原因是,例如,您的问题中发布的
while ( true = good )
if ( null = a )
您将试图将值分配给常数时,会丢弃编译器错误。