sábado, 21 de dezembro de 2013

Java: a função Main, cabeçalho de uma função

Criamos um projecto novo de Java no NetBeans, e o que nos aparece?
A nossa classe (que tem um nome à vossa escolha), e uma função main.

E o que é a função main?
Por convenção e definição, a função main é a função que é executada em primeiro lugar aquando da execução do programa. Por outras palavras, quando queremos executar o nosso programa no fim de estar feito e clicamos no "Run", a primeira coisa a fazer é executar a função main. Se tivermos mais funções (mais tarde irei falar disso), elas só serão executadas se forem chamadas pela função main, caso contário não servirão de nada para o nosso programa quando for executado.

Toda e qualquer função tem um cabeçalho, cada uma com normas diferentes.
Vejamos o seguinte exemplo de código Java:


Vamos começar por analisar este pedaço de código.
public class 9lessons
Este excerto diz respeito a uma classe pública, de nome "9lessons".

public -> significa que pode ser acedida por todos

class -> diz respeito a uma classe

9lessons -> o nome da classe

"{" -> devemos sempre abrir e fechar qualquer classe, função, ciclo, etc. Tudo o que estiver dentro das chavetas está contido no código, ou seja, tudo o que estiver fora das chavetas não pertence.


Prosseguimos com o seguinte...
public static void main (String args[])
Aqui está a nossa função main. Ela tem sempre o mesmo cabeçalho, e é uma função que vão sempre usar, pois como disse é a primeira função a ser executada no programa, e é inalterável. Vamos então analisar este cabeçalho:
public -> significa que pode ser acedida por todos

static -> significa que é (neste caso uma função) global, ou seja, será sempre acedida directamente em qualquer lugar

void -> uma função pode devolver valores ou não. "void" significa que a função não devolve valores.

(String args[]) -> o argumento da função é um array ( [] ) do tipo String, com o nome args.

"{" -> também colocamos as chavetas para delimitar a função, ou seja, onde ela começa e onde acaba.

O resto do código explicarei mais à frente. Para já o fundamental é entender o que é a função main, e saber que ela tem sempre o mesmo cabeçalho.

Porém, os cabeçalhos poderão mudar. Depende do que nós pretendemos.

1º - public ou private
Uma classe ou função pode ser pública ou privada. Se for pública, pode ser acedida por todos. Se for privada já não.

2º - static ou não-static
Uma função, variável, etc, pode ser global (static) ou local (não-static). Caso queiramos declarar uma função "não-static", não se escreve nada, já se for static, temos de o colocar no cabeçalho.

3º - o que devolve
Uma função pode ou não devolver um valor, seja ele inteiro, real, um caracter, uma String, um array, uma estrutura de dados, etc. Aqui deverá ser colocado o que é que pretendemos devolver. Caso a função não devolva nada colocamos "void". Se a função devolver, lembrem-se de colocar "return" antes do fecho da função.

4º - nome da função
Aqui colocam o nome da função. Por convenção, está definido que o nome da função deverá começar por letra minúscula, e não pode ter espaços. Ex: lerNumero, escreverData, etc

5º - argumentos da função
Uma função pode ou não ter argumentos. (explicarei mais à frente, por agora não necessitam disto) Se os tiver, colocam-se dentro de parênteses. Se não tiver, não se coloca nada dentro dos parênteses. No entanto, terão sempre de colocar parênteses no cabeçalho.

Exemplos de funções:
public static void funcao1()
private int funcao2(int numero)