Sign in to follow this  
Followers 0
Kalner

for and while inifite loops

5 posts in this topic

So I noticed that both for and while loops have a infinite loop option, is there any difference between them? 

0

Share this post


Link to post
Share on other sites

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
4

Share this post


Link to post
Share on other sites
Didn't know about the compiler warning, nor have I experienced it myself, but that's good to know. I always went with while(true) because for(;;) didn't come naturally to me, but I'll probably switch it up to for(;;) now.
0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0