Simple anidado para el ejemplo de bucle

Actualmente estoy estudiando para mi prueba de Java. Mientras estudiaba me encontré con un pequeño problema.

En este bucle:

for ( int i=1; i <= 3 ; i++ ) {
    for (int j=1; j <= 3 ; j++ ) {
        System.out.println( i + " " + j );
    }
}

La salida es:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

Mi problema es que no lo entiendo. Cuando leo este código, sigo pensando que debería verse así:

1 1
2 2
3 3

¿Por qué este no es el caso?

Respuestas a la pregunta(7)

Su respuesta a la pregunta