Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Gostaria de saber qual a finalidade do "retorno" quando podemos utilizar "void" e "return" ? Ele retorna quando vamos reutilizar a informação?

public void adiciona(Aluno aluno) { // implementação }

public void adiciona(int posicao, Aluno aluno) {

3 respostas

Olá Diego, tudo bem com você?

Então, vamos lá:

quando podemos utilizar "void" e "return" 

Eles são totalmente excludentes, vou te mostrar:

void nada mais é do que uma função que não retorna nada, ela faz apenas alguma operação, ou imprime um valor, coisas do tipo :)

Iremos utilizar return quando nossa função devolve um valor, seja ele qual for, por exemplo:

public int soma( int valor1, int valor2){
    return valor1 + valor2;
}

Como a minha função devolve um número inteiro, eu obrigatoriamente preciso utilizar a palavra return, para devolver o valor a quem chamou a função, por exemplo:

public static void main(String [] args) {
    int numero = 5;
    int numero2 = 8;
    int resultado = soma(numero, numero2);
}

Agora eu poderia mudar a função para:

public void soma( int valor1, int valor2) {
    System.out.println( valor1 + valor2);
}

Veja que agora eu estou apenas imprimindo um valor, e dessa forma no nosso código principal eu não posso fazer:

int resultado = soma(numero, numero2);

Pois agora minha função não devolve nada :)

Como você já esta na parte de Java 3, acredito que já viu os getters e setters, eles são um grande exemplo disso:

  • Getters: Todos eles utilizam return e devolvem algum valor para o usuário
  • Setters: Todos eles são void pois apenas pegam a informação que o usuário nos passou e colocam dentro da classe, não devolvem nada :)

Conseguiu compreender?

Abraços e Bons Estudos!

Mais ou menos ...ele retorna o que? para que?

solução!

Então Diego,

Ele retorna o que?

Vamos voltar para o exemplo

    int resultado = soma(numero, numero2);

O que será devolvido é a expressão que está na linha do retorno, por exemplo:

    return valor1 + valor2;

Iremos retornar o valor da operação valor1 + valor2, no caso do exemplo vai devolver 13, isto é:

Definimos a função ira devolver um número do tipo int e para isso vamos receber 2 valores inteiros

A variável resultado chamou a função de somar passando 2 valores ( 8 e 5), a função somarpor sua vez vai retornar / devolver para resultado o valor dessa soma, dessa forma teremos que:

int resultado = 13

Acontece que agora os códigos começam a chamar mais funções, e a gente começa a armazenar o resultado ( que são retornados / devolvidos) dessa funções para ir reutilizando pelo código

Eu não entendi bem a questão do para que que você questionou, qualquer coisa estou a disposição :)

Abraços!