Return - algumas dúvidas

Senhores, o “return”… retorna exatamente O QUÊ… e para quem??

Por exemplo, neste código que fiz abaixo para verificar positivo ou negativo:

[code]public class PositivoNegativo {

public String verificaNumero (int num) {
if (num>0)
return “Positivo”;
else if (num<0)
return “Negativo”;
else
return “Zero”;
}
}[/code]

O Return retorna se ele é positivo ou negativo… tudo bem… mas o que difere o RETURN do SYTEM.OUT.PRINTLN?

Abraços!

um nao tem nada a vê com o outro.
o return como o próprio nome diz retorna algo para outro metodo, outra classe,no seu caso vai retornar uma string.
mas ele pode retornar N coisas um int, um List uma entidade.

um exemplo de uso do return.

int soma=somaNumeros(20,25);

public int somaNumeros (int num, int num2) {

int c=num+num2;

return c;

}

nesse caso o método somaNumeros , vai somar os 2 inteiros passados, e retornar o resultado que no caso 45 esse valor será atribuído para a variável soma.

caro dcloko, o return serve para vc manipular esses valores, o System.out.println é somente uma mensagem

imagina um exemplo em que vc quer ver se a pessoa eh do sexo masculino, com idade entre 18 e 40 anos e quer verificar isso em algum lugar (ou varios lugares)

cria um metodo ==> private boolean verificaDisponibilidade(); que faz isso

com isso, posso manipular o retorno dele (boolean) pra fazer determinadas tarefas

  if (verificaDisponibilidade) {
      System.out.println("É do sexo masculino com idade entre 18 e 40 anos!");
  }

fica mto melhor do que

  if (idade >=18 && idade <= 40 && sexo.equals("m")) {
      System.out.println("É do sexo masculino com idade entre 18 e 40 anos!");
  }

caro dcloko
o [color=blue]return[/color], como o próprio nome ja diz retorna algum resultado, ou simplesmente retorna a execução para o metodo que chamou
a função que contem o return.
por exemplo:

public static void main(String args[]){
//essa variavel armazena o resultado de sua função
String resultado;

//essa é sua função
resultado = verificaNumero(12);

System.out.println(resultado);
}

A variavel resultado armazena o retorno da sua função, aí vocÊ pode estar se perguntando. Mas porque não usar o println direto na sua função, inicialmente vc pode até usar no entanto mais tarde vc sentirá a necessidade de usar o return.
Espero ter ajudado, qualquer dúvida só é falar…

Kra o return retorna para quem chama o metodo. O System.out.println vai para o console (tela do usuario ou para outro programa que o esteja chamando por exemplo o ant). Se ainda ficou duvidas posta ai novamente. flw.

[quote=yhhik]um nao tem nada a vê com o outro.
o return como o próprio nome diz retorna algo para outro metodo, outra classe,no seu caso vai retornar uma string.
mas ele pode retornar N coisas um int, um List uma entidade.

um exemplo de uso do return.

int soma=somaNumeros(20,25);

public int somaNumeros (int num, int num2) {

int c=num+num2;

return c;

}

nesse caso o método somaNumeros , vai somar os 2 inteiros passados, e retornar o resultado que no caso 45 esse valor será atribuído para a variável soma.

[/quote]

Ok… mas ainda não entendi para onde vai esse return…! Ele seta alguma coisa?? O resultado do retorna armazena em algum lugar?

Obrigado pela ajuda.

int soma=somaNumeros(20,25);   
   
public int somaNumeros (int num, int num2) {   
   
int c=num+num2;   
   
return c;   
   
}

na linha 2 estou criando uma variável do tipo int e chamando uma método que vai retornar algo.

na linha 4 estou declarando um método que tem como retorno um int (int somaNumeros) e recebe dois valores int como parametro “(int num, int num2)”.

na linha 6 estou criando uma variável " int c" que vai receber o valor da soma de num e num;

na linha 8 estou retornando o valor dessa soma, que é a variável “c” para a linha 2, foi onde eu chamei o método, o valor de “c”(retorn c) será atribuído a variável soma;

se no lugar de c tivesse “return num” ele iria retornar o valor de num que no caso é 20, e variavel soma receberia 20.

Nesse caso o return vai retornar para o main

public static void main(String args[]){
//essa variavel armazena o resultado de sua função
String resultado;

//essa é sua função
resultado = verificaNumero(12);

System.out.println(resultado);
}

Se eu tivesse uma outra função qualquer tipo:

public void imprimirResultado(){
String resultado;

//essa é sua função
resultado = verificaNumero(12);

System.out.println(resultado);
}

Isso tudo vai fazer mais sentido quando vc compreender o que é uma pilha de execução.
Mas lembre-se com esforço e leitura sobre o assunto esses conceitos irão se revelando, portanto nada de pressa

mais dúvida só é postar

Entendi senhores! Muito obrigado pela colaboração de todos! Esse fórum é um espetáculo (sim, estou puxando o saco…rsrs).

Bom final de semana a todos! Vou me dedicar a programar (pelo menos tentar) algumas coisas… qualquer coisa, pedirei socorro aqui!

Legal mesmo é que em vez de darem a resposta pronta, sempre tentam auxiliar para que nós (leigos!) entendemos o processo… e isso é muito bom!

VALEU MESMO! :wink:

Java é um grande universo e nunca ninguem vai dominar todos os seus conceitos, portanto todos nós
somos um pouco leigos…

precisando de ajuda é só chamar estamos aqui para nos ajudar

poxa me ajudou muito as explicações de vcs… vlw mesmo \õ/