Mudanças entre as edições de "Pensamento Computacional - Métodos no Java"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 69: Linha 69:
  
 
   Trata-se de um exemplo simples mostrando que podemos chamar quantas vezes quisermos um determinado código de um método.
 
   Trata-se de um exemplo simples mostrando que podemos chamar quantas vezes quisermos um determinado código de um método.
 +
 +
=Parâmetros de um método =
 +
 +
No exemplo anterior, o método DesenhaRetangulo() cumpre bem a sua tarefa de desenhar um retângulo. Entretanto, o que podemos fazer se desejarmos configurar o número de linhas e a largura do retângulo?
 +
 +
Aqui entra o conceito de PARAMETRIZAR o método, ou seja, repassar valores para que ele possa ser PERSONALIZADO ("customized" em inglês).
 +
 +
Vamos a um exemplo onde PARAMETRIZAMOS a LARGURA do retângulo:
 +
 +
<syntaxhighlight lang=java>
 +
import java.util.Scanner;
 +
 +
public class MetodoDesenhaRetangula {
 +
 +
    public static void DesenhaRetanguloLarguraConfiguravel(int largura) {
 +
 +
        for(int i = 0; i < 10; i++ ) {       
 +
            for(int j = 0; j < largura; j++ ) {
 +
                System.out.print("X");
 +
            }
 +
            System.out.println("");           
 +
        }
 +
 +
        System.out.println("");       
 +
    }
 +
 +
    public static void main(String[] args) {
 +
        System.out.println("Vou desenhar um retangulo...");
 +
        DesenhaRetanguloLarguraConfiguravel(10); 
 +
        System.out.println("Vou desenhar um outro retangulo...");
 +
        DesenhaRetanguloLarguraConfiguravel(20);               
 +
    }
 +
 +
}
 +
</syntaxhighlight>

Edição das 16h34min de 6 de novembro de 2023

Objetivos da Aula

  • Conceituar métodos, parâmetros e valor de retorno no Java;
  • Definir, declarar e chamar métodos no Java;
  • Aplicar métodos para resolver subproblemas de um grande problema;

O que é um método no Java

Uma método (também pode ser visto como uma função) é um "bloco de código" que resolve um dado problema
específico,  que possui um nome associado e 
que pode ser chamado quando necessário. Ao final da execução
do código do método, o fluxo de execução retorna para quem "chamou" o método.  
Exemplo: para calcular o seno de um ângulo chamamos um método para resolver 
o problema específico: "calcular um seno". Dados de entrada devem ser fornecidos,
no caso o ângulo. O dado de saída é o seno computado deste ângulo.
Notar que a função permite REAPROVEITAR o código. Não precisamos a todo momento
reescrever um código que computa o seno. Basta chamar a função.

EXEMPLO: Desenhar um retângulo no terminal exige um certo número de linhas de código. É uma tarefa bem específica que poderia ser "ENCAPSULADA" em um método. Seria algo da forma:

import java.util.Scanner;

public class MetodoDesenhaRetangula {

    public static void DesenhaRetangulo() {

        for(int i = 0; i < 10; i++ ) {        
            for(int j = 0; j < 20; j++ ) {
                System.out.print("X");
            }
            System.out.println("");             
        }

        System.out.println("");         
    }

    public static void main(String[] args) {
        System.out.println("Vou desenhar um retangulo...");
        DesenhaRetangulo();  
        System.out.println("Vou desenhar um outro retangulo...");
        DesenhaRetangulo();                
    }

}

DISCUSSÃO: Neste exemplo existem dois métodos: o main() e DesenhaRetangulo(). Podemos dizer que ao executar o programa, o método main() é AUTOMATICAMENTE chamado. Uma após outra, as instruções do método main() são executadas. Inicialmente a instrução:

 System.out.println("Vou desenhar um retangulo...");

Esta instrução é uma CHAMADA ao método println()... Este método está na biblioteca e tem como objetivo imprimir mensagens na tela.

Na sequência é executada a seguinte instrução:

         DesenhaRetangulo();

Esta instrução TAMBÉM é uma chamada de um método. OBSERVE o significado de CHAMAR: é o desvio do fluxo de execução do programa para o código do método. O código será executado até o final quando então o fluxo de execução retorna para QUEM/QUE chamou.

Observe que a implementação do método DesenhaRetângulo() foi fornecida pelo próprio programador. Já o método println() já está implementado na biblioteca.

Após a chamada do DesenhaRetângulo(), novamente é chamado o método println:

          System.out.println("Vou desenhar um outro retangulo...");

E finalmente é chamado mais uma vez o método DesenhaRetangulo();.

 Trata-se de um exemplo simples mostrando que podemos chamar quantas vezes quisermos um determinado código de um método.

Parâmetros de um método

No exemplo anterior, o método DesenhaRetangulo() cumpre bem a sua tarefa de desenhar um retângulo. Entretanto, o que podemos fazer se desejarmos configurar o número de linhas e a largura do retângulo?

Aqui entra o conceito de PARAMETRIZAR o método, ou seja, repassar valores para que ele possa ser PERSONALIZADO ("customized" em inglês).

Vamos a um exemplo onde PARAMETRIZAMOS a LARGURA do retângulo:

import java.util.Scanner;

public class MetodoDesenhaRetangula {

    public static void DesenhaRetanguloLarguraConfiguravel(int largura) {

        for(int i = 0; i < 10; i++ ) {        
            for(int j = 0; j < largura; j++ ) {
                System.out.print("X");
            }
            System.out.println("");             
        }

        System.out.println("");         
    }

    public static void main(String[] args) {
        System.out.println("Vou desenhar um retangulo...");
        DesenhaRetanguloLarguraConfiguravel(10);  
        System.out.println("Vou desenhar um outro retangulo...");
        DesenhaRetanguloLarguraConfiguravel(20);                
    }

}