Create methods with arguments and return values; including overloaded methods

Em Java, é possível criar métodos que recebem argumentos e retornam valores. Além disso, é permitido criar métodos sobrecarregados, que são métodos com o mesmo nome mas com diferentes tipos ou números de parâmetros. Vamos criar exemplos para demonstrar esses conceitos:

Métodos com Argumentos e Retorno:

public class ExemploMetodos {
    public static void main(String[] args) {
        // Exemplo de chamada de método com argumentos e retorno
        int resultado = somar(5, 3);
        System.out.println("Resultado da soma: " + resultado);

        // Outro exemplo
        double area = calcularAreaRetangulo(4, 6);
        System.out.println("Área do retângulo: " + area);
    }

    // Método para somar dois números e retornar o resultado
    static int somar(int a, int b) {
        return a + b;
    }

    // Método para calcular a área de um retângulo e retornar o resultado
    static double calcularAreaRetangulo(double comprimento, double largura) {
        return comprimento * largura;
    }
}

Métodos Sobrecarregados:

public class ExemploMetodosSobrecarregados {
    public static void main(String[] args) {
        // Chamada de métodos sobrecarregados
        exibirMensagem("Olá, mundo!");
        exibirMensagem(42);
        exibirMensagem("Java", 3);
    }

    // Método para exibir uma mensagem do tipo String
    static void exibirMensagem(String mensagem) {
        System.out.println("Mensagem: " + mensagem);
    }

    // Método sobrecarregado para exibir um número inteiro
    static void exibirMensagem(int numero) {
        System.out.println("Número: " + numero);
    }

    // Método sobrecarregado para exibir uma mensagem e repetir N vezes
    static void exibirMensagem(String mensagem, int repeticoes) {
        for (int i = 0; i < repeticoes; i++) {
            System.out.println(mensagem);
        }
    }
}

Estes exemplos ilustram como criar métodos que recebem argumentos, executam uma operação e retornam valores. Além disso, o segundo exemplo mostra métodos sobrecarregados, onde métodos com o mesmo nome têm diferentes tipos ou números de parâmetros. A escolha entre sobrecarga e métodos com nomes diferentes depende do contexto e da semântica do seu programa.