There are generally only two cases where the loop condition needs to be checked, either at the beginnig (while) or the end (do-while). While there are some rare exceptions where you have to break out of a loop for some reason, you should usually rethink the use of a loop if you end up doing this all the time. using a lot of breaks inside an infinite while loop is just obfuscating the fact that you are using a goto loop, only a less readable one, since at least with goto you can 'find' for the label, whereas with while-break you have to manually search for the end of context.