Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 2 da Aula 3 - Crie e uso laços do tipo do/while

Eu entendi o exercício, mas fiquei com dúvida com relação ao return. Ele diz respeito ao do/while ou ao if anterior que é "maior"?

A explicação: caso seja passado de 3 a 9 argumentos no args o comando System.out... não é executado. Somente quando são passados de 10+ argumentos.

class A {
    public static void main(String[] args) {
        if(args.length < 10) {
            do {
                if(args.length>2) return;
            } while(true);
        }
        System.out.println("Finalizou");
    }
}
1 resposta
solução!

Olá Felipe,

No caso o return sempre se refere ao método que está sendo executado. Toda vez que um return é chamado a JVM tenta voltar ao último ponto (que gerou a chamada atual) na pilha de execução.

Como nesse caso o método é um main um return significa retirar a referência do main da pilha (desempilhar) e retornar ao ponto anterior a sua chamada (a quem chamou o main). Sendo assim, o programa se encerra.

Espero ter ajudado. Abraço!