以下代码片段是从 Play 商店下载的人体步数检测 Android 应用程序的一部分。由于它工作正常,所以我认为这些代码都是有意义的。
private boolean isMotion(float[] paramArrayOfFloat)
{
if ((Math.abs(this.mOldAcc[0] - paramArrayOfFloat[0]) > 1.0F) || (Math.abs(this.mOldAcc[1] - paramArrayOfFloat[1]) > 1.0F) ||
(Math.abs(this.mOldAcc[2] - paramArrayOfFloat[2]) > 1.0F));
for (boolean bool = true; ; bool = false)
{
this.mOldAcc[0] = paramArrayOfFloat[0];
this.mOldAcc[1] = paramArrayOfFloat[1];
this.mOldAcc[2] = paramArrayOfFloat[2];
return bool;
}
}
关于以下代码,我有两个问题:
1)循环条件:
for (boolean bool = true; ; bool = false){}
这个条件意味着每次我的循环开始时,bool 都设置为 true。然后当循环结束时,bool 被设置为 false。这样做的目的是什么?另外,在这里这样做有什么意义?
2)if条件:
if ((Math.abs(this.mOldAcc[0] - paramArrayOfFloat[0]) > 1.0F) ||
(Math.abs(this.mOldAcc[1] - paramArrayOfFloat[1]) > 1.0F) || (Math.abs(this.mOldAcc[2]
-paramArrayOfFloat[2]) > 1.0F));
if 条件直接加 ; 就在条件之后。真的不知道为什么会这样做。
有人请帮助我。非常感谢!!!