Além de usar métodos existentes (aulas 33 e 34), você pode criar seus próprios métodos para organizar e reutilizar seu código:
Um método personalizado (ou uma função em JavaScript) é executado quando é chamado; ao ser executado, ele pode retornar um valor e/ou causar efeitos no programa.
public class Util {
// Sem retorno (void)
public static void saudar(String nome) {
System.out.println("Olá, " + nome + "!");
}
// Com retorno (int)
public static int somar(int a, int b) {
return a + b;
}
public static void main(String[] args) {
saudar("Maria");
int r = somar(4, 6);
System.out.println("Soma: " + r);
}
}
Olá, Maria!
Soma: 10
em Java, métodos void não retornam um valor; sua importância está em executar ações com efeitos colaterais úteis — atualizar estado, salvar no banco, enviar eventos, escrever logs, interagir com rede/arquivo/UI.
Métodos personalizados podem ter retorno (uso de return) ou sem retorno (uso de void)
public class MetodosPersonalizados {
public static void main(String[] args) {
// Chamando método sem parâmetros e sem retorno
exibirMensagemBoasVindas();
// Chamando método com parâmetros e sem retorno
exibirMensagemPersonalizada("Maria", 25);
exibirMensagemPersonalizada("João", 30);
// Chamando método com parâmetros e com retorno
int resultado = somar(10, 15);
System.out.println("\nResultado da soma: " + resultado);
// Usando diretamente o retorno do método em uma expressão
double media = calcularMedia(7.5, 8.0, 6.5) / 3;
System.out.println("Média: " + media);
// Usando método booleano para tomar decisões
int idade = 17;
if (ehMaiorDeIdade(idade)) {
System.out.println("\nA pessoa com " + idade + " anos é maior de idade.");
} else {
System.out.println("\nA pessoa com " + idade + " anos é menor de idade.");
}
}
// Método sem parâmetros e sem retorno
public static void exibirMensagemBoasVindas() {
System.out.println("Bem-vindo ao sistema!");
System.out.println("Aprenda a criar métodos em Java.");
}
// Método com parâmetros e sem retorno
public static void exibirMensagemPersonalizada(String nome, int idade) {
System.out.println("\nOlá, " + nome + "!");
System.out.println("Você tem " + idade + " anos.");
}
// Método com parâmetros e com retorno
public static int somar(int a, int b) {
return a + b;
}
// Método que recebe vários parâmetros e retorna um valor
public static double calcularMedia(double nota1, double nota2, double nota3) {
return nota1 + nota2 + nota3;
}
// Método que retorna um valor booleano
public static boolean ehMaiorDeIdade(int idade) {
return idade >= 18;
}
}
Bem-vindo ao sistema!
Aprenda a criar métodos em Java.
Olá, Maria!
Você tem 25 anos.
Olá, João!
Você tem 30 anos.
Resultado da soma: 25
Média: 7.333333333333333
A pessoa com 17 anos é menor de idade.
Métodos personalizados em Java são “funções” que você define dentro de uma classe; isso é bem próximo do conceito de função em JavaScript (que pode existir de forma solta, sem classe). A diferença principal é que, em Java, tudo vive dentro de classes e você especifica tipos estáticos (parâmetros e retorno), enquanto no JavaScript os tipos são dinâmicos.
public class mediaNotasAlunosComMetodos {
public static void main(String[] args) {
double nota1 = 7.5;
double nota2 = 8.0;
double nota3 = 6.5;
String nomeAluno = "Mariete";
String saudacao = saudarAluno(nomeAluno);
System.out.println(saudacao);
double media = calcularMedia(nota1, nota2, nota3);
System.out.println("O aluno " + nomeAluno + " tem média: " + media);
}
public static String saudarAluno(String nome) {
return "Olá, " + nome + "! Bem-vindo à nossa turma.";
}
public static double calcularMedia(double n1, double n2, double n3) {
return (n1 + n2 + n3) / 3;
}
}
Olá, Mariete! Bem-vindo à nossa turma.
O aluno Mariete tem média: 7.333333333333333
public class calculadoraComMetodos {
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
int resultadoSoma = somar(num1, num2);
int resultadoSubtracao = subtrair(num1, num2);
int resultadoMultiplicacao = multiplicar(num1, num2);
double resultadoDivisao = dividir(num1, num2);
System.out.println("Soma: " + resultadoSoma);
System.out.println("Subtração: " + resultadoSubtracao);
System.out.println("Multiplicação: " + resultadoMultiplicacao);
System.out.println("Divisão: " + resultadoDivisao);
}
public static int somar(int a, int b) {
return a + b;
}
public static int subtrair(int a, int b) {
return a - b;
}
public static int multiplicar(int a, int b) {
return a * b;
}
public static double dividir(double a, double b) {
return a / b;
}
}
Soma: 15
Subtração: 5
Multiplicação: 50
Divisão: 2.0
Teste seus conhecimentos sobre métodos personalizados em Java:
Reforce o conteúdo desta aula com mais dois exercícios práticos: