Métodos em Java: Conceitos Fundamentais
Os métodos são blocos de código reutilizáveis que realizam uma tarefa específica dentro de uma classe. Eles promovem a organização, manutenibilidade e modularidade do código. Um método deve ser definido com um nome claro, seguindo as convenções de nomenclatura (iniciando com letra minúscula e usando camelCase). Ele pode receber parâmetros, executar operações e retornar um valor ou não. ### Definição de um Método
public static tipoRetorno nomeMetodo(tipoParametro parametro) {
// Corpo do método
return valor;
}
- Modificador: opcional (como
public,static). - Tipo de retorno: define o tipo de dado retornado (int,String,void, etc.). - Nome do método: deve ser descritivo e seguir padrões. - Parâmetros: variáveis temporárias usadas para receber valores externos. - Corpo do método: conjunto de instruções que executam a funcionalidade. - return: encerra a execução e retorna um valor (ou nada, se forvoid). ### Exemplo Prático
package method;
public class Calculadora {
public static void main(String[] args) {
int resultado = somar(5, 3);
System.out.println("Soma: " + resultado);
imprimirTabuada(7);
}
// Método que soma dois números
public static int somar(int a, int b) {
return a + b;
}
// Método sem retorno (void)
public static void imprimirTabuada(int numero) {
for (int i = 1; i <= 10; i++) {
System.out.println(numero + " x " + i + " = " + (numero * i));
}
}
}
Chamada de Métodos
Quando um método é chamado, os argumentos reais são passados para os parâmetros formais. O resultado da chamada pode ser armazenado em uma variável ou usado diretamente. ### Sobrecarga de Métodos (Overloading)
Permite definir múltiplos métodos com o mesmo nome, mas com diferentes listas de parâmetros (tipo, quantidade ou ordem). ``` public static int calcular(int a, int b) { return a + b; }
public static double calcular(double a, double b) { return a + b; }
public static int calcular(int a, int b, int c) { return a + b + c; }
### Recursão
Métodos que se chamam a si mesmos são chamados de recursivos. É essencial definir uma condição de parada para evitar loops infinitos. ```
public static int fatorial(int n) {
if (n == 1) {
return 1; // condição de base
} else {
return n * fatorial(n - 1); // chamada recursiva
}
}
Passagem de Parâmetros
Java utiliza passagem por valor. Para tipos primitivos, o valor é copiado. Para objetos, a referência é passada, permitindo alterações no objeto original. ### Argumentos Variáveis
Permite que um método aceite um número arbitrário de argumentos do mesmo tipo, desde que estejam na última posição. ``` public static void exibirNomes(String... nomes) { for (String nome : nomes) { System.out.println(nome); } }
Este mecanismo é útil para funções como `System.out.printf()` ou métodos de log personalizados.