Melhor resposta
- Se eu estiver fazendo uma adição, o tipo de retorno será int .
- Se eu quiser retornar o nome do usuário, o tipo de retorno seria String .
- Se eu quiser retornar uma lista de array contendo alguns dados, então seria Array List .
- Se eu quiser retorna se uma conexão foi bem-sucedida ou não, então Booleano .
Exemplo 1:
// Tipo de retorno int
função pública int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // digite int //
}
Exemplo 2:
// Tipo de retorno String
public function String doSomething () {
String a = “Primeiro NAme”;
String b = “ÚLTIMO NAme”;
String c = a + b; // concatenação
return c; // digite String // O / P => Nome Sobrenome
}
Exemplo 3:
// Tipo de retorno ArrayList
função pública ArrayList
ArrayList
String a = “Primeiro NAme”;
String b = “ÚLTIMO NAme”;
list.add (a);
list.add (b);
lista de retorno; // digite ArrayList // O / P => [Nome Sobrenome]
}
tipo de retorno pode ser de qualquer tipo, até mesmo um objeto de classe definido pelo usuário. por exemplo, return objStudent; (onde o tipo de retorno é alguma classe Student e objStudent é um objeto dessa classe.
Resposta
Os outros que responderam são mais experientes do que eu, mas vou tentar para responder à pergunta.
Java tem dois tipos de variáveis e métodos— tipos primitivos e tipos de referência . Um método, no entanto, deve ter um tipo de retorno de primitivo, de referência, ou void . Se você não incluir um desses, seu código não será compilado.
[Nota: Não estou discutindo construtores aqui. Eu pessoalmente não prefiro chamar construtores de “métodos especiais”. Alguns programadores usam o termo método para incluem construtores. Se não me engano, lembro-me dos documentos Oracle Java referindo-se aos construtores como “métodos especiais”.]
TIPOS PRIMITIVOS
Aqui estão os oito tipos primitivos que diferenciam maiúsculas de minúsculas: byte, short, int, long, float, double, char e boolean. [String não é um tipo primitivo; é um tipo de referência.] Um método pode retornar um ou nenhum deles (vazio) como no seguinte fragmento de código.
balance = getAccountBalance();
/* Method getAccountBalance() below is going to subtract a fee of 1.50 before returning our balance. */
double getAccountBalance()
{
balance = balance - 1.50;
return balance;
}
/* The variable balance must have a type that matches double because the return type of method getAccountBalance() is double. Otherwise, we get a compile error. */
Nossos métodos não precisam retornar nenhum valor. Esses métodos que não retornam nenhum tipo devem ter um tipo chamado void. Java não espera que nada seja retornado se incluirmos void como o tipo de retorno do método. Incluir um retorno (EDIT: 27 de maio) tipo levará a uma falha no compilar. Alguns programadores colocarão uma declaração de retorno “ return; ” quando o tipo de retorno do método for nulo. Este código está em conformidade.
Aqui ” s um exemplo de método com tipo de retorno void. (A propósito, palavras como público, privado e protegido são chamados de modificadores de acesso. Estou omitindo esses modificadores de acesso intencionalmente para simplificação.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
O seguinte código ganhou “t compilar porque tem uma instrução de retorno com um tipo de retorno nulo para o método.
double balance = 275.00;
makeDeposit( 200.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
return balance;
}
/* The last line "return balance" causes the code to fail to compile because the program doesn"t know what to do with the return statement. Java is expecting a return type of void, nothing. The code is returning balance, a double type. */
TIPOS DE REFERÊNCIA
Tipos de referência são todos os outros tipos ides void e os oito tipos primitivos. Esses tipos são objetos – arrays, Integer, BigInteger, String, ArrayList, List, Map
Vamos retornar um tipo de referência em o código abaixo.Tipos de referência (não tipos primitivos) podem ter valor de retorno nulo.
int[] values = { -4, 16, -36, 0 };
values = sortArray( values );
int[] sortArray( int[] inputArray )
{
/* code to sort values */
return inputArray;
}
/* The program returns the sorted array. */
No código acima, retornamos um int [] chamado inputArray. O tipo de inputArray corresponde ao tipo de referência do método sortArray ().
No código a seguir, optamos por retornar null para nosso tipo de referência, embora nosso método estivesse esperando o tipo String. Lembre-se de que String é uma classe e um tipo de referência, não um tipo primitivo como int, double ou booleano.
/* We want to return the name only if it is short, 3 characters or fewer to be exact. */
String firstName = "Ahmad";
String shortName = getShortNames( firstName );
System.out.println("Short Name = " + shortName );
String getShortNames( String name )
{
if ( name.length() > 3 )
{
return null;
}
else
{
return name;
}
}
/* Output: null */
No código acima, se o nome tiver comprimento 3, o método getShortNames () retornará o valor do nome. No entanto, em nosso caso, o nome tem 5 caracteres, então o valor null é retornado. A linha 5 imprime null.
Como mencionei anteriormente, também podemos retornar tipos de nossas classes definidas pelo usuário. Não estamos limitados às classes definidas nas bibliotecas Java, como String, Integer, BigDecimal, Map
Pontos principais a serem lembrados:
- Três tipos de retorno para métodos; deve usar um: tipo primitivo, tipo de referência ou void
- Ao usar tipos de retorno primitivo e de referência para métodos, uma instrução de retorno deve ser incluída no bloco de código do método – as chaves {}. Caso contrário, espere um erro de compilação.
- Ao usar void como um tipo de retorno de método, uma instrução de retorno não pode ser incluída no bloco de código do método . Caso contrário, o código não será “compilado.
- Um método com um tipo de retorno de referência deve incluir uma instrução de retorno que retorna uma variável com o tipo de referência exato ou retorna null . Nulo não pode ser usado como um tipo de retorno se um tipo de retorno primitivo for necessário. Claro, nulo não pode ser usado como um tipo de retorno de um método com tipo de retorno void.