Não consegui entender nada da explicação. Como por exemplo, por que é chamado o método 1, 2 E só após a execução do laço, o println é executado com o fim dos métodos????
Não consegui entender nada da explicação. Como por exemplo, por que é chamado o método 1, 2 E só após a execução do laço, o println é executado com o fim dos métodos????
Olá Rodrigo, tudo bem?
Vou tentar lhe ajudar nessa questão, repare que primeiramente é executado o método main, logo é executado:
System.out.println("Ini do main");
metodo1();Repare que a partir de agora ele irá entrar dentro do método 1, e executará:
System.out.println("Ini do metodo1");
metodo2();É como uma pilha de papeis, imagine os métodos como um papel e toda vez que o "papel" é chamado ele é colocado em cima dos outros papeis. Então estamos método 1(papel 1), agora foi chamado o método 2, logo irá ser colocado o método 2 em cima da pilha.
System.out.println("Ini do metodo2");
for(int i = 1; i <= 5; i++) {
System.out.println(i);
}
System.out.println("Fim do metodo2");Nota-se agora que nesse método não foi chamado outro método, logo até agora temos impresso no console:
Ini do main
Ini do metodo1
Ini do metodo2
1
2
3
4
5
Fim do metodo2Agora que terminamos de executar tudo que tinha no papel(método 2) do topo da pilha podemos retirá-lo para executar o papel que está logo embaixo, que é o método 1, que a única coisa que resta é o println de lá, logo ficará:
Ini do main
Ini do metodo1
Ini do metodo2
1
2
3
4
5
Fim do metodo2
Fim do metodo1E agora podemos retirar o papel do método 1 já que tudo nele foi executado, e agora só sobra o resto do método main:
Ini do main
Ini do metodo1
Ini do metodo2
1
2
3
4
5
Fim do metodo2
Fim do metodo1
Fim do mainE fim da pilha de papéis, logo fim do programa. Espero que essa minha analogia com uma pilha de papéis possa lhe ajudar a sanar sua dúvida. Qualquer outra dúvida é só chamar!