aspose file tools*
The moose likes Beginning Java and the fly likes Which one to use - for loop vs while loop ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Which one to use - for loop vs while loop ?" Watch "Which one to use - for loop vs while loop ?" New topic
Author

Which one to use - for loop vs while loop ?

Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
They can do the same things. Then what is the difference ? How do I decide whether I should use for or while ?

I looked at stack overflowand saw that we can use the while counter once while loop ends.
Cannot do that with for loop.

another - while is used when you don't know how many times you have to execute a loop.

Any more ?


Java Newbie with 72% in OCJP/SCJP - Super Confused Jobless Programmer.
I am a "newbie" too. Please verify my answers before you accept them.
Stephan van Hulst
Bartender

Joined: Sep 20, 2010
Posts: 3649
    
  17

Use the for-loop when you know exactly how many times you want to loop, while should be used in case the condition does not depend on a specific number of iterations. In general, use the option that "sounds better" in English.

I also use for-loops when I'm filtering a collection using an iterator:
Divya Chandel
Ranch Hand

Joined: Jun 09, 2011
Posts: 47



For loop is used when you know the number of iterations you have to make, I mean when you know how many times to execute a loop.
WHILE is used when you are not sure about the iterations but you know what the condition is and then you can loop that till the condition is met.

One main difference is while loops are best suited when you do not know ahead of the number of iterations that you need to do. when you know this before entering the loop you can go for for loop.



And while can behave like for:


Divya
SCJP1.6
Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 4490
    
    8

Andy Jack wrote:I looked at stack overflowand saw that we can use the while counter once while loop ends.
Cannot do that with for loop.

You can do that with a for loop, you just need to declare the counter outside the loop. I actually look at it as an advantage the other way - a for loop allows you to declare a counter where the scope is restricted to the loop. That's one reason why I'd use Stephan's approach when using an Iterator. You can do it with a while loop, and it's no more complicated. And you can argue that since you're not iterating for a fixed number of times a while loop is more natural. But then you have to declare the Iterator before the loop.

But generally, the most important difference is they express a different intent - fixed number of iterations vs. iterating till a condition occurs. And your code is generally easier to read if the intent expressed by the code matches what you're trying to achieve.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Which one to use - for loop vs while loop ?