El primer código imprime el valor 2 cuatro veces porque la variable i se inicializa en 2 y no cambia dentro del bucle for, mientras que j sí incrementa. El segundo código imprime valores decimales de 0 a 0.3333 repetidamente en un bucle infinito porque al dividir enteros el resultado es también un entero.