stackoverflow.comのこの質問からこのアイデアを得ました
一般的なパターンは次のとおりです。
final x = 10;//whatever constant value
for(int i = 0; i < Math.floor(Math.sqrt(x)) + 1; i++) {
//...do something
}
私がやろうとしているのは、条件付きステートメントが複雑なものであり、変わらないということです。
ループの初期化セクションで宣言する方がいいですか?
final x = 10;//whatever constant value
for(int i = 0, j = Math.floor(Math.sqrt(x)) + 1; i < j; i++) {
//...do something
}
これはもっと明確ですか?
条件式が次のように単純な場合
final x = 10;//whatever constant value
for(int i = 0, j = n*n; i > j; j++) {
//...do something
}
x
大きさが大きい場合、Math.floor(Math.sqrt(x))+1
に等しいMath.floor(Math.sqrt(x))
。:-)
{ x=whatever; for (...) {...} }
、さらに良いことに、別の関数である必要があるかどうかを検討します。