Java/Métodos

Origem: Wikilivros, livros abertos por um mundo aberto.

Métodos são blocos de código que pertencem a uma classe e tem por finalidade realizar uma tarefa. Eles são análogos às funções em C e sub-rotinas em pascal. Métodos geralmente correspondem a uma ação do objeto. Exemplo: correr, colher, etc. Numa classe para realizar cálculos matemáticos poderia ser somar, subtrair, dividir, etc. Além disso, um papel fundamental dos mesmos é ter de evitar reescrever código para uma mesma função sempre que se deseja chamá-la.

Parâmetros[editar | editar código-fonte]

Um parâmetro (ou argumento) representa um valor a ser informado para que seja processado pelo método. Um método pode não possuir parâmetros ou possuir vários parâmetros. Cada parâmetro deve ser acompanhado de seu respectivo tipo. Observando o método main(), podemos perceber que ele possui um parâmetro chamado args, que é um vetor do tipo String:

 public static void main(String[] args){ }

Poderíamos definir um método para exibir o resultado da soma de dois números inteiros, utilizando dois parâmetros, da seguinte forma:

 public static void imprimeSoma(int n1, int n2){
     System.out.println("O resultado da soma é: " + (n1+n2))
 }

O comando return[editar | editar código-fonte]

O comando " return" serve para sair do método em que está executando. Exemplos de uso:

 public static void main(String[] args){ 
     System.out.println("Boo!");
     if (args.length > 0)
         return;
     System.out.println("Baa!");
 }

Valor de retorno[editar | editar código-fonte]

Um método pode retornar o valor de uma variável. O tipo do valor de retorno é definido antes do nome do método. O método deve retornar um dado desse tipo através do comando return.

A palavra-chave void indica a ausência de um tipo de dado. Serve para indicar um método retorna nenhum dado. Por exemplo:

public static void main(String[] args) {
  //
}

Um exemplo prático[editar | editar código-fonte]

No nosso exemplo vamos fazer métodos que realizem operações matemáticas. Suponha que vamos fazer uma classe OperacoesMatematicas:

/*OperacoesMatematicas.java*/

public class OperacoesMatematicas{

   public int somar( int num1, int num2 ){
       return num1 + num2;
   }

   public int subtrair( int num1, int num2 ){
       return num1 - num2;
   }

   public int multiplicar( int num1, int num2 ){
       return num1 * num2;
   }

   public int dividir( int num1, int num2 ){
       return num1 / num2;
   }

}

Exercícios[editar | editar código-fonte]

// Exercício 1.
public void metodo() {
    return;
}

Dado o código acima, responda:

1. O código irá compilar?
Sim, pois o tipo de retorno void admite que a instrução return seja exibida sem valor.