ฉันได้ความคิดนี้จากคำถามนี้ใน 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 (...) {...} }
หรือดีกว่าให้พิจารณาว่ามีเพียงพอที่จะต้องดำเนินการแยกต่างหากหรือไม่