I think, that in case of large amount of variants in conditional loop, the switch/case variant is preffered. For example, you have 100 variants to choose from. You are entering your for loop and looking the first if statement is true or false. If it is false, you are looking the second one, and then the third and then... Until the condition is true. In the worst case this will be 100 computations. Now lets see, what we have in case/switch statement. You are entering the for loop, comparing your number with switch condition and just jumping to the piece of code you need. In the worst case this will be 100 times faster, than with if/else construction. In the best case it will be the same.