[RESOLVIDO]Dificuldade ao entender o for encadeado

Boa tarde,
Venho aqui pra tirar uma dúvida em relação a um for.
Eu tento entender a lógica do programa, mas estou tendo dificuldades.
Podia até debugar o código, mas estou sem meu note e a dúvida está me matando.
Sei que é uma dúvida simples e isso que tem mais me irritado.

[code]public class Caelum8 {

public static void main(String[] args) {
    int n=5,
        linha,
        coluna;
    
    for(linha=1 ; linha <= n ; linha++){
        for(coluna=1 ; coluna <= linha ; coluna++){
            System.out.print(linha*coluna + " ");
        }
        System.out.println();
    }
    
}

}[/code]
Este é um programa simples, já vi alguns posts das pessoas com dúvidas dele, mas nenhuma era igual a minha.
Vamos la.
Nesta código, considerando que n=5 seja o número total de linhas.
qnd eu inicio o primeiro for, satisfaz ele, pois o 1 é menor que o n, mas ele incrementa logo depois, certo?
o segundo for, também satisfaz, pois o 1 de coluna é igual o 1 de linha, porém ele incrementa depois tb certo?
eis que no S.O.P ele faz o 1x1 e o valor da primeira coluna e da primeira linha seria o valor 1 e acabaria a primeira linha.
Na segunha linha, com linha e coluna incrementados para dois, o primeiro valor da segunda linha não seria 4?
Eu entendi que o for é pra controlar o número de linha e coluna, mas não entendi o porque na segunda linha, ficou 2 , 4 ( basicamente, qual foi a operação feita para saírem esses números? ).
Não sei se ficou claro…
Não sei se meu problema está com a lógica ou com o for encadeado, mas de qlqr forma se alguém puder me ajudar.
Abs.