palavra-chave return em Java
A palavra-chave return
em Java é usada para sair de um método e, opcionalmente, passar de volta um valor para o chamador do método. Ele serve como uma instrução de fluxo de controle que encerra a execução do método em que aparece.
Uso
A palavra-chave return
pode ser usada em métodos com ou sem um tipo de retorno. Em métodos com um tipo de retorno, ele deve ser seguido por um valor de retorno que corresponda ao tipo de retorno declarado do método. Nos métodos void
, return
pode ser usado sem nenhum valor para que você saia do método mais cedo.
Sintaxe
return; // For void methods
return value; // For methods with a return type
value
: O valor a ser retornado, que deve corresponder ao tipo de retorno declarado do método.
Exemplos
Exemplo 1: Retornando um valor
public class ReturnExample {
public static void main(String[] args) {
int result = add(5, 3);
System.out.println("Result: " + result);
}
public static int add(int a, int b) {
return a + b;
}
}
Neste exemplo, o método add
retorna a soma de dois números inteiros. A instrução return
passa o resultado de volta para o chamador.
Exemplo 2: Saindo de um void
Método Early
public class ReturnVoidExample {
public static void main(String[] args) {
checkNumber(5);
checkNumber(-1);
}
public static void checkNumber(int number) {
if (number < 0) {
System.out.println("Negative number");
return; // Exit the method early
}
System.out.println("Positive number");
}
}
Aqui, o método checkNumber
usa return
para sair mais cedo se o número for negativo. Se o número for positivo, o método continuará a executar as instruções restantes.
Exemplo 3: Retorno de um objeto
public class ReturnObjectExample {
public static void main(String[] args) {
String message = getMessage();
System.out.println(message);
}
public static String getMessage() {
return "Hello, World!";
}
}
Neste exemplo, o método getMessage
retorna um objeto String
. A instrução return
passa a string "Hello, World!" de volta para o chamador.
Dicas e práticas recomendadas
- Match Tipo de retorno: Certifique-se de que o valor retornado pela instrução
return
corresponda ao tipo de retorno declarado do método. - Ponto único de saída: Embora você possa usar vários comandos
return
, procure ter um único ponto de saída para melhorar a legibilidade e a manutenção do código. - Evite os efeitos colaterais: Evite usar instruções do site
return
que causem efeitos colaterais, como modificar variáveis globais ou executar operações de E/S, pois isso pode levar a um comportamento imprevisível. - Use as devoluções antecipadas: Use retornos antecipados para simplificar a lógica condicional complexa e reduzir os blocos de código aninhados.
public static void process(int value) { if (value <= 0) { return; // Early return for invalid input } // Continue processing for valid input }
- Valores de retorno do documento: Documente claramente os valores de retorno de seus métodos para melhorar a legibilidade e a manutenção do código. Use os comentários do Javadoc para especificar o que cada método retorna.
/** * Adds two integers. * @param a First integer * @param b Second integer * @return Sum of a and b */ public static int add(int a, int b) { return a + b; }