So I noticed that both for and while loops have a infinite loop option, is there any difference between them?
#2 Moderator* - Reputation: 5410
Posted 28 December 2012 - 04:35 PM
Assuming you mean while (true) vs for (;;) vs do { } while (true), no, there's no technical difference.
However, I've seem some compilers generate a warning* for while (true) and do { } while (true) but not generate a warning for for (;;), in which case for (;;) may be preferred to avoid a warning.
*For example, see this question.
Edit: I just realized this question was tagged Java and was assuming C or C++ when I was talking about the warning stuff. It's the same in Java as it is in C and C++ in that there's no real technical difference between these infinite looping methods, but the compiler warning issue I talked about isn't relevant in Java.
Edited by Cornstalks, 28 December 2012 - 05:06 PM.
#5 Members - Reputation: 1626
Posted 28 December 2012 - 08:25 PM
I don't believe there's any performance difference between any flavors of the infinite loops but my personal preference is always to use a while(someValue == true). This allows for the loop to be cancelled from within itself or from outside of the loop in say another thread.
Digivance Game Studios Founder:
Dan Mayor - Dan@Digivance.com
www.Digivance.com






