Molto semplicemente for(;; i++) e for(;;--j) sono due cicli infiniti (che però incrementano e decrementano a ogni iterazione le relative variabili).
Il costrutto: if( i >j )break lab1; fa in modo che quando i diventa maggiore di j il primo ciclo, e quindi pure quello al suo interno, viene fermato grazie all'utilizzo del label break lab1;
per saperne di più sui label questo link porta alla documentazione http://docs.oracle.com/javase/specs/....html#jls-14.7
Inoltre puoi notare che il primo ciclo viene eseguito solamente una volta ed è messo lì solamente per confondere le idee

Rispondi quotando