Bom dia,
Estou com duvidas com os métodos que retornam algum "valor" , como é a sintaxe ? Por exemplo quando eu preciso que ele retorne o resultado de uma conta que ele fez ? Como eu acesso/faço para atualizar essa informação no "main" ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia,
Estou com duvidas com os métodos que retornam algum "valor" , como é a sintaxe ? Por exemplo quando eu preciso que ele retorne o resultado de uma conta que ele fez ? Como eu acesso/faço para atualizar essa informação no "main" ?
Oi Gabriel, bom dia.
A sintaxe é bem intuitiva, olhe um exemplo abaixo.
class A {
public static void main(String[] args){
int a = 2;
int quadrado;
quadrado = calculaQuadrado(a);
System.out.println(quadrado);
}
static int calculaQuadrado(int a){
return a*a;
}
}
Acho que entendi, nesse exemplo você atribuiu o retorno do metodo para a variavel "quadrado" certo ? Existe algum outro modo de eu criar esse metodo para que o proprio metodo já realize isso ? por exemplo, colocar como retorno "return quadrado = a*a ;" ? Eu posso fazer isso ?
Foi isso que fiz sim (respondendo sua primeira pergunta).
Em sua última pergunta você quer dizer desse jeito?
static int calculaQuadrado(int a){
return quadrado = a*a;
}
Sim, está certo também ? Se for já entendi, muito obrigado
Nesse caso específico não estaria certo pois a variável quadrado pertence apenas ao escopo da main, e não da calculaQuadrado.
Um outro jeito mais detalhado de se fazer seria:
class A {
public static void main(String[] args){
int a = 2;
int quadrado;
quadrado = calculaQuadrado(a);
System.out.println(quadrado);
}
static int calculaQuadrado(int a){
int quadrado;
quadrado = a*a;
return quadrado;
}
}
Para utilizar o retorno do "metodo" é preciso criar uma variável no método main e armazena-lo nela... Caso eu precise usar esse valor mais pra frente ? Por exemplo eu conseguiria printar direto assim "System.out.println(calculaQuadrado(a));" ?
Sim, você conseguiria fazer esse System.out sem problema algum do jeito que escreveu.
Então está tudo entendido! muito obrigado!
Nada :)