Da trilha de Java Este conceito ainda não saiu como card do dia. ir para o card de hoje

Java Funções Básico

Métodos

Um método em Java é um bloco de código que executa uma tarefa específica e pode ser chamado várias vezes. Ele ajuda a organizar o programa, evitar repetição e facilitar a manutenção. Métodos podem receber parâmetros (dados de entrada) e devolver um retorno (resultado).

A sobrecarga permite ter vários métodos com o mesmo nome, desde que a lista de parâmetros seja diferente (quantidade ou tipos). Isso deixa o código mais expressivo.

Java passa argumentos por valor: para tipos primitivos, o método recebe uma cópia do valor; para objetos, recebe uma cópia da referência. Alterações no parâmetro não afetam a variável original, mas alterações no objeto referenciado podem ser visíveis fora do método.

Pontos-chave

  • Métodos encapsulam comportamento e podem ser reutilizados.
  • Parâmetros são declarados com tipo e nome; o retorno é definido pelo tipo antes do nome do método.
  • void indica que o método não devolve valor.
  • Sobrecarga: mesmo nome, lista de parâmetros diferente.
  • Java passa argumentos por valor: cópia do valor ou da referência.
Metodos.java
public class Metodos {
    // Método com parâmetros e retorno
    static int somar(int a, int b) {
        return a + b;
    }

    // Sobrecarga: mesmo nome, parâmetros diferentes
    static double somar(double a, double b) {
        return a + b;
    }

    // Método void (sem retorno)
    static void saudacao(String nome) {
        System.out.println("Olá, " + nome + "!");
    }

    // Passagem por valor: altera cópia do primitivo
    static void tentarAlterar(int x) {
        x = 99;
    }

    public static void main(String[] args) {
        int resultado = somar(3, 4);
        System.out.println("Soma int: " + resultado);

        double resultadoDouble = somar(2.5, 3.5);
        System.out.println("Soma double: " + resultadoDouble);

        saudacao("Maria");

        int numero = 10;
        tentarAlterar(numero);
        System.out.println("Valor original após método: " + numero);
    }
}

Exercícios

  1. 1
    Fácil

    Método de saudação com retorno

    Crie um método chamado formatarSaudacao que recebe um String nome e retorna a saudação no formato "Olá, <nome>!". No main, chame o método e imprima o resultado.

    Resolver
  2. 2
    Médio

    Sobrecarga de método para área

    Crie uma classe CalculadoraArea com dois métodos sobrecarregados chamados area: um recebe um double lado e retorna a área do quadrado; outro recebe double base e double altura e retorna a área do retângulo. No main, calcule e imprima a área de um quadrado de lado 5 e de um retângulo de base 4 e altura 6.

    Resolver
  3. 3
    Desafio

    Passagem por valor com primitivo e objeto

    Crie uma classe PassagemValor com um método alterarPrimitivo(int x) que atribui x = 100 e um método alterarArray(int[] arr) que atribui arr[0] = 100. No main, crie um int numero = 10 e um int[] numeros = {10, 20}, chame os métodos e imprima os valores antes e depois. Explique no código com comentários por que o primitivo não muda e o array muda.

    Resolver

Continue estudando