4.1. Alguns métodos já nossos conhecidos

Nas secções anteriores já vimos vários métodos – as funções matemáticas ilustradas na secção 3.5.4. são métodos, bem como o procedimento System.out.println que temos utilizado sempre que queremos escrever algo no standard output.

Estes métodos foram criados por alguém, e estão definidos nas classes Math e System, respetivamente, classes acessíveis a todos os que programam em Java. Nestas classes estão definidos mais uma série de métodos úteis, para serem usados pelos programadores nos seus programas.

Podemos identificar uma característica comum a todos os métodos da classe Math. Todos eles calculam um valor – a que chamamos o resultado do método. Pelo facto de terem um resultado, são chamados de funções.

O método System.out.println não tem um resultado definido. É um método que "faz algo", nomeadamente escrever algo no standard output, mas que não "devolve" nenhum resultado. Métodos com esta característica dizem-se procedimentos.

4.1.1. Fluxo de execução

Uma sequência de instruções num programa é executada, instrução a instrução, de forma sequencial. Este fluxo de execução pode ser alterado através de comandos específicos, os quais aprenderemos ao longo destas páginas.

A invocação de métodos é um dos mecanismos que altera a aparente sequencialidade desse fluxo.

Na instrução

double raiz = Math.sqrt(17.0 * i);

o produto entre 17.0 e o valor da variável i é calculado e de seguida a função Math.sqrt é invocada. Isto faz com que o fluxo de execução do programa "salte" para este método, ou seja, as instruções definidas no método Math.sqrt (que não fomos nós que criámos, nem precisamos de saber quais são) são executadas. Quando o método termina, o fluxo de execução volta de novo à instrução double raiz = Math.sqrt(17.0 * i); . Nessa altura, o resultado da invocação da função é atribuído à variável raiz.

A instrução

System.out.println(raiz);

provoca uma invocação do método System.out.println com o consequente "salto" do fluxo de execução para esse método. A execução das instruções nele definidas provoca a escrita do valor da variável raiz no standard output.

O mecanismo de invocação de métodos tem mais que se lhe diga e vai ser abordado em detalhe nas próximas secções.

 

Ainda sem se preocupar em perceber esse mecanismo, se já quiser "espreitar" a execução do programa NotasFinaisLegivel, pode fazê-lo aqui:

 

4.1.2. O método main

O bloco de instruções que se chama main que temos vindo a escrever até agora é, na verdade, um método cujo nome é main.

É um método especial, pois é ele que é executado quando mandamos executar o programa a partir do sistema operativo – por exemplo, escrever na linha de comando

provoca a execução do método main contido no ficheiro NotasFinais.class.

Isto significa que sempre que escrevemos um programa, criamos pelo menos uma classe contendo pelo menos um método, o main, que é um procedimento. As instruções que escrevemos nesse método variam muito, pois dependem do que queremos que o programa faça.

No método main, tal como em qualquer outro, podemos invocar outros métodos, sejam eles funções ou procedimentos. Esses métodos podem, por sua vez, invocar outros, e assim sucessivamente.

 


 

Anterior: 4. Abstração procedimental

Seguinte: 4.2. Procedimentos