Tutorial de Java - Métodos (methods)

Nesta série de tutoriais de Java, iremos aprender a usar uma das ferramentas mais importantes, poderosas e flexíveis da linguagem: os métodos.

Métodos nada mais são que trechos de códigos, que fazem algo específico e que podem ser executados em qualquer lugar de seu código, sempre que for necessário, sem existir a necessidade de repetir aqueles comandos em Java.

Vimos como automatizar nossas tarefas, criando loopings que executavam códigos quantas vezes quiséssemos através de laços, como o for e o while.
Porém, uma vez que esses laços terminavam, eles ficavam para trás.
Com os métodos não, os métodos podem rodar sempre, de qualquer lugar.

Outra vantagem dos métodos, é a reutilização de código.
Por exemplo, você pode criar um método que faz uma soma, outro que calcula o quadrado de um número, outro que calcula o delta da equação do segundo grau, e qualquer método com funções em específicas.

No futuro, quando quiser esses códigos para fazer uma calculadora, por exemplo, eles já estarão prontos na forma de métodos, e você não terá que programar tudo de novo.
Não, basta chamar os métodos, a qualquer instante, e quando quiser, sem ser necessário repetir uma linha de código.

Aprenda bem o que são métodos, faça os seus com objetivos bem simples e definidos, e o principal: guarde e organize seus métodos, você irá usá-los pelo resto de sua vida como profissional de Java.

Tutorial de Java - Métodos


7 comentários:

  1. Eu fiz essa Calculadora simples com os conhecimentos até aqui.
    ==============CODE===============

    import java.util.Scanner;
    public class Calc{

    /*METODOS*/
    public static double Soma(double valor1, double valor2){
    double resultado;
    resultado = valor1 + valor2;
    System.out.println(resultado);
    return 0;
    }

    public static double Subtracao(double valor1, double valor2){
    double resultado;
    resultado = valor1 - valor2;
    System.out.println(resultado);
    return 0;
    }

    public static double Multiplicao(double valor1, double valor2){
    double resultado;
    resultado = valor1 * valor2;
    System.out.println(resultado);
    return 0;
    }

    public static double divisao(double valor1, double valor2){
    double resultado;
    resultado = valor1 / valor2;
    System.out.println(resultado);
    return 0;
    }
    /*FIM METODOS*/

    public static void main(String[] args){
    /*OBJETOS E VARIAVEIS*/
    double valor1, valor2;
    char sinal, sair;
    boolean continuar = true;
    Scanner entrada = new Scanner(System.in);

    /*RECEBENDO DADOS DO USER*/
    do{
    System.out.println("\n----CALCULADORA SIMPLES----");
    System.out.println("\n\nDeseja continuar? [s/n]");
    sair = entrada.next().charAt(0);

    if(sair == 'n' || sair == 'N'){
    continuar = false;
    }else if(sair == 's' || sair == 'S'){

    System.out.print("\nPrimeiro valor: ");
    valor1 = entrada.nextInt();

    System.out.print("\nSinal de operacao: ");
    sinal = entrada.next().charAt(0);

    System.out.print("\nSegundo valor: ");
    valor2 = entrada.nextInt();

    System.out.println("\n\n====RESULTADO====\n\n");

    /*IMPRIMINDO DADOS*/
    switch(sinal){
    case '+':
    System.out.println(valor1);
    System.out.println(sinal);
    System.out.println(valor2);
    System.out.println("______________");
    Soma(valor1, valor2);

    break;

    case '-':
    System.out.println(valor1);
    System.out.println(sinal);
    System.out.println(valor2);
    System.out.println("______________");
    Subtracao(valor1, valor2);

    break;

    case '*':

    System.out.println(valor1);
    System.out.println(sinal);
    System.out.println(valor2);
    System.out.println("______________");
    Multiplicao(valor1, valor2);

    break;

    case '/':

    System.out.println(valor1);
    System.out.println(sinal);
    System.out.println(valor2);
    System.out.println("______________");
    divisao(valor1, valor2);

    break;
    default:
    System.out.println("\n(SINAL DA OPERACAO IVALIDO!)\n");
    break;
    }
    }else{
    System.out.println("\nAPENAS 'S' OU 'N'. Digite novamente\n");
    }

    }while(continuar);
    }
    }

    ResponderExcluir
  2. Fiz uma calculadora também, mas sem os métodos e ficou bem menor, e usando as mesmas operações... Preferi apenas usar o switche tal... Mas esses métodos são extremamente importantes para o futuro programador java.

    ResponderExcluir
  3. import java.util.Random;
    import java.util.Scanner;

    public class JogoAdivinhaNumero{
    private static Scanner scan;
    private static Random NumAleatorio;
    public static void main( String[] args ){

    scan = new Scanner( System.in );
    NumAleatorio = new Random();

    int Sorteou, Palpite, Tentou = 0;

    Sorteou = NumAleatorio.nextInt(1000)+1;

    do{
    System.out.print("\nTente descobrir o número que foi sorteado: ");
    Palpite = scan.nextInt();

    Tentou++;

    DicadoSorteio(Palpite, Sorteou, Tentou);

    }while(Palpite != Sorteou);
    }

    public static void DicadoSorteio(int Palpite, int Sorteou, int Tentou){
    if(Palpite > Sorteou){
    System.out.print("Seu palpite é maior que o número sorteado!");
    }else{
    if(Palpite < Sorteou){
    System.out.print("Seu palpite é menor que o número sorteado!");
    }else{
    System.out.print("\n\nFinalmente você descobriu o valor gerado aleatóriamente: " + Sorteou);
    if(Tentou > 1){
    System.out.printf("\nParabêns!!! Você tentou %d vezes antes de acertar!", Tentou);
    }else{
    System.out.printf("\nCongratulations!!! Você acertou de primeira, isso é raro de acontecer!");
    }
    }
    }
    }
    }

    ResponderExcluir
  4. Fiz este codigo pro primeiro desafio
    .
    .
    .
    .
    .
    .
    .
    .
    .
    public class Experimentos{
    public static int primos(int x){
    int primo = 0;
    for(int y = 2; y < x ; y++){
    if(x%y==0){
    primo = 1;
    }
    }
    return primo;
    }
    public static void main(String[] args){
    for(int x = 1; x < 1000; x++){
    if(primos(x)==1){
    continue;
    }
    if(primos(x)==0){
    System.out.printf("%d\n",x);
    }
    }
    }
    }

    ResponderExcluir
  5. Loguei aqui só para vir agradecer pelo ótimo conteúdo desse site. Sem explicações complexas e enrroladas: vai sempre direto ao ponto e utiliza exemplos práticos. Muito bom mesmo!

    ResponderExcluir
  6. Luciano Gapski Pereira27 de maio de 2020 às 10:16

    Eu descobri esse site apenas agora, mas já estou curtindo muito. Agradeço pela iniciativa de quem criou essa plataforma. São realmente pessoas de bem e que repassam conhecimentos. Deus abençoe grandemente a vida de cada um.

    ResponderExcluir