Um trecho de palestra com um mentor como parte do curso Codegym University. Inscreva-se no curso completo.
"Você de novo, Amigo. Bem, olá."
"Parece que você não está muito feliz em me ver, Diego?"
"Tenho a impressão de que você acha que já aprendeu tudo o que há para saber sobre métodos em Java."
"Ah, eu não..."
"Acho que não! Você não sabe nem da metade."
"Claro, não discordo...
"Ok, chega de conversa. É hora de começar. E vamos começar com algo simples. Por exemplo, o fato de Java ter uma instrução de retorno . Ela permite que você encerre instantaneamente um método no qual é chamado. Aqui está a instrução:
return;
"É simples: a palavra solitária return
seguida por um ponto e vírgula. Assim que o programa executa esta instrução, o método atual sai e o método de chamada continua.
"Se return
for chamado no main
método, o main
método terminará imediatamente e, com ele, todo o programa.
Exemplo:
|
O fill método preenche parte do array passado com value . A parte do array a ser preenchida é definida pelos índices from e to . Se from for menor 0 ou to maior que o comprimento da matriz, o método será encerrado imediatamente. |
"O programa acima possui um fill
método que preenche o array passado para ele com value
. Ele não preenche o array inteiro, apenas a parte especificada pelos índices from
e to
.
"No início do fill
método, os valores passados são verificados para garantir que sejam válidos. Se from
for menor que 0 ou to
maior que o comprimento da matriz, o fill
método será encerrado imediatamente (executará uma return
instrução)."
"Entendi. É só isso que essa declaração faz?"
"Na verdade, a return
instrução é mais útil do que você pensa. É tão útil que é encontrada em quase todos os métodos em Java. E agora vou levar você a entender por que isso acontece.
Métodos com um resultado,void
"Você provavelmente se lembra de que existem declarações e expressões . Qual é a diferença entre elas?"
"Se não me engano, uma expressão, ao contrário de uma afirmação, tem um significado que pode ser usado em algum lugar."
"Correto. E, em Java, os métodos também podem ter um valor . E esta é uma notícia muito boa: os métodos não são apenas capazes de fazer algo com base nos parâmetros de entrada, mas também, por exemplo, avaliar algo e retornar o resultado de o cálculo .
"A propósito, você já encontrou esses métodos:
|
O abs() método retorna um duplo |
|
O nextInt() método retorna umint |
|
O toUpperCase() método retorna umString |
|
O copyOf() método retorna umint[] |
"Cada método só pode retornar um valor de um tipo predeterminado . O tipo de retorno é determinado quando o método é declarado:
public static Type name(parameters)
{
method body
}
Onde name
é o nome do método, parameters
é a lista de parâmetros do método e type
é o tipo de resultado que o método retorna.
Para métodos que não retornam nada, existe um tipo de espaço reservado especial: void
.
"Em outras palavras, se eu escrever meu método e não quiser retornar nada, declaro o tipo do método como void
, e pronto?"
"Sim. E também devo dizer que Java tem muitos desses métodos.
Retornando um resultado
"Descobri como declarar um método que retorna o resultado de um cálculo/trabalho. Como faço para retornar o resultado do próprio método?"
"Essa é uma pergunta válida. A return
declaração nos ajuda aqui mais uma vez. Passar um resultado de um método se parece com isto:
return value;
"A return
instrução encerrará o método imediatamente. E value
é o que o método deve retornar ao método de chamada quando ele sair. O tipo de value
deve corresponder ao Type
especificado na declaração do método. Aqui estão alguns exemplos para reforçar o que você aprendeu:
Exemplo 1. O método calcula o mínimo de dois números:
|
O método retorna o mínimo de dois números. Se a < b retornar a Caso contrário, retornar b |
Exemplo 2. O método duplica a string passada para ele n
vezes:
|
O método recebe dois parâmetros — uma string e o número de vezes que a string deve ser repetida. Uma string vazia é criada para o resultado futuro. Em um loop com times iterações, um espaço e a string str são adicionados à string result . A string result é retornada como resultado do método. |
Exemplo 3: O método calcula o máximo de dois números usando o operador ternário:
|
O método retorna o máximo de dois números. retornar (se a > b , então a , caso contrário b ) |
"Excelente. Métodos são meu novo superpoder!"
"Só se você praticar o suficiente em tarefas práticas. Câmbio e para fora."
GO TO FULL VERSION