For the love of god, keep your code strictly at one statement per line or less. It's almost impossible to read like this. Lines 18-20 are particularly bad.
On line 18 you have a true and false block where one ends in break and the other in continue. Control flow must take either one or the other, there's no third choice, and both branches will cause control flow to not continue executing what follows the if, so lines 19 and 20 can't possibly execute. So if i is neither 0 nor 2, the false branch on line 18 will execute, and since there's nothing in that path that can change the value of i, the loop will never terminate.