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)

terça-feira, 26 de novembro de 2013

Java: Objecto, Classe e Métodos

Estás pronto para começar a programar? Achas mesmo?

Hoje vou-te falar sobre o que é um Objecto, uma Classe e um Método em Java. Antes de começares sequer a programar tens de saber obrigatoriamente o que são estas três coisas.
Um programa em Java (que é uma linguagem de programação orientada a objectos) é definido como um conjunto de objectos que comunicam uns com os outros chamando métodos uns dos outros. Ou seja:

  • Objecto - um objecto tem estados e comportamentos.
    Exemplo: um cão tem como estado uma "cor" e uma "raça", bem como comportamentos tais como "ladrar" e "comer". Um objecto é uma instância (criação / exemplo) de uma classe.
  • Classe - uma estrutura com atributos que abstrai um conjunto de objectos com características semelhantes.
    Exemplo: "animal" é uma classe, que tem como atributos o seu "tipo" e "género";
    "cão" é uma instância (ou deriva) de "animal" (ou seja, tem um tipo e um género) e apesar de possuir todas as características da classe "animal", é completamente independente de outras instâncias de "animal", ou seja, um "cão" é diferente de um "gato".
  • Método - comportamento dos objectos de uma classe. Uma classe pode conter vários comportamentos.
    Exemplo: um "cão" tem como comportamentos "ladrar", "comer" e "lamber".

Este tema pode ser um pouco confuso, mas como sempre estou disponível para vos explicar de outra forma que vos seja mais clara. Basta comentar. As dúvidas serão tiradas logo que possível.