Na década de 90, a empresa Sun Microsystems desenvolveu a linguagem JAVA. Mais tarde, em 2009, a Sun Microsystems foi comprada pela Oracle. Porém, em 2006, a Sun tinha lançado a linguagem JAVA no mundo open source (software livre) sob a licença GPL (GNU General Public License). Por isso, hoje em dia existem compiladores da Oracle e compiladores da comunidade open source.
Esta linguagem de programação é uma linguagem orientada a objectos e tem uma sintaxe semelhante ao C/C++. Porém, tem várias diferenças importantes.
O JAVA é uma linguagem interpretada. Isto quer dizer que não é compilada directamente para código máquina mas para um chamado “bytecode” que, depois, é interpretado por uma máquina virtual (JVM – Java Virtual Machine). Por esta razão, a performance de um programa escrito em JAVA é inferior ao C/C++ mas a sua portabilidade é enorme. Por exemplo, podemos programar em C/C++ em ambientes Unix (incluindo o Linux e o MAC OS) e em Windows, mas existem diferenças. Um programa escrito em C/C++ numa máquina com o sistema Windows usará sempre algumas funções diferentes das que se usa se o escrevermos em sistemas baseados no Unix. Já com o JAVA, desde que exista uma JVM para um dado sistema operativo, o código é 100% compatível.
Para o efeito, temos o chamado JRE (Java Runtime Environment) que inclui a JVM e permite lançar qualquer programa escrito em JAVA (e compilado para o tal “bytecode“) em qualquer sistema onde este esteja instalado. Já para programarmos em JAVA, precisamos do chamado JDK (Java Development Kit) que inclui o JRE e programas para compilar o nosso programa em “bytecode“.
Outra grande diferença, é que no JAVA tudo são classes! E aqui entra a programação orientada a objectos de forma “radical”. Até um simples programa que escreva no ecrã as palavras “Olá Mundo!”, está contido numa classe.
Se o leitor costuma programar em C/C++ e pretende começar a aprender JAVA, irá encontrar mais diferenças pelo caminho!
Vejamos agora alguns conceitos importantes do JAVA e de programação orientada a objectos, mas sem entrar para já em grandes detalhes, antes de começarmos a escrever o nosso primeiro programa.
Package
Um “package“, ou pacote, é, como o nome indica, um pacote de classes. Apesar de um “package” poder conter apenas uma classe, é usual encontrarmos várias classes lá dentro. Podemos dar um nome qualquer mas, normalmente, usamos uma sintaxe tipo um domínio de um sítio web mas por ordem inversa.
Por exemplo:
package com.out4mind
Neste exemplo, estamos a declarar um pacote com o nome “com.out4mind”. Iremos ver como isto se irá comportar em termos de directorias mais à frente. Este tipo de nomenclatura, é muito comum em empresas que produzem o seu software em JAVA. Também é comum organizar conjuntos de classes em categorias e ter pacotes que começam por um nome comum e depois vão-se adicionando as categorias.
Por exemplo:
- com.out4mind.database
- com.out4mind.network
- …
No primeiro caso, “com.out4mind.database”, podíamos ter um conjunto de classes para acesso e operações a uma base de dados e, no segundo, “com.out4mind.network”, um conjunto de classes para lidar com aspectos de ligação à rede.
O próprio JAVA faz isto, nos seus pacotes disponíveis pelo JRE, como iremos ver mais adiante.
Classe
Uma classe em JAVA corresponde à noção elementar de classe em programação orientada a objectos. Esta define o que chamamos de um objecto e pode conter um conjunto de propriedades e métodos. Em breve irei escrever um artigo sobre este assunto. Se o leitor ainda não tiver conceitos de programação orientada a objectos, aconselho-o a ler este artigo do WikiPédia: “Orientação a objetos“.
O JAVA contem várias bibliotecas de objectos (organizadas em pacotes) que iremos abordando ao longo dos próximos artigos. Normalmente, um pacote pode ser compilado num ficheiro “JAR” (Java ARchive), que depois será introduzido numa directoria “lib” e que iremos ver também mais adiante.
Como escrever um programa em JAVA
Antes demais, deveremos ter instalado um JDK, de preferência na versão mais recente. Aconselho-o a usar o JDK da Oracle, mas poderá usar outro JDK open source. Atenção que existem algumas variantes do JDK como o JSE (JAVA Standard Edition) – o básico que iremos usar, o JEE (JAVA Enterprise Edition) – muito usado em programação em servidores Web com componentes avançadas (como web services e outros), o JME (JAVA Mobile Edition), entre outros. O que nos interessa é o JSE.
Se ainda não tem um JDK instalado no seu sistema, visite o link http://www.oracle.com/technetwork/indexes/downloads/index.html#java e instale o Java SE.
Sendo fã de sistemas Linux e Mac, alguns exemplos serão dados com base nestes ambientes tipo Unix, mas em Windows há semelhanças. Vamos começar por testar se temos o nosso JAVA bem instalado.
- Linux / MAC (ou outros ambientes Unix)
Abra um terminal e digite:
$ java -version
Deverá ver algo do género (dependendo da versão):
java version “1.7.0_75”
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
Digite agora:
$ javac -version
Deverá aparecer algo do género (dependendo da versão):
javac 1.7.0_75
- Windows
Abra a janela de comandos e digite os mesmos comandos indicados acima excepto o símbolo $ (que apenas é uma referência ao “prompt” em Unix).
Os ficheiros com código JAVA são ficheiros de texto simples e não podem conter formatações tipo RTF (Rich Text Format). Podemos usar programas de edição de texto básicos como o Kate (Linux, KDE) ou o NotePad (Windows) mas não devemos usar programas com o TextEdit (Mac) ou o Write (Windows), pois estes gravam ficheiros de texto com formatações. Existem outros programas de edição de texto como o NotePad++ (Windows), TextPad (Windows), BlueFish (Linux, Mac, Windows, Solaris, FreeBSD e OpenBSD), entre outros.
Por fim, podemos usar ambientes de desenvolvimento integrado como o Eclipse ou o NetBeans. Apesar de eu preferir o NetBeans, sei que muitos programadores usam o Eclipse. Como tal, irei usar o Eclipse nos meus exemplos.
Mas vamos começar com um primeiro exemplo de um programa escrito em JAVA num editor de texto comum. Comece por criar uma directoria (pasta) com o nome “java” (ou outro nome à sua escolha, mas para facilitar evite espaços, use apenas uma palavra) na sua área de utilizador (em Windows, crie dentro da pasta “Meus Documentos” ou “My Documents“). Usando qualquer um dos programas de edição de texto, indicados acima, escreva o seguinte código:
public class programa { public static void main(String [] args) { System.out.println("Olá Mundo!"); } }
Para já, não estamos a considerar um pacote. Na primeira linha, declaramos uma classe com o nome “programa”, pelo que deverá gravar o seu ficheiro com o nome “programa.java” (o nome do ficheiro deverá corresponder ao nome da classe pública). Em seguida, declaramos um método público “main” e que deverá ser estático e que pode receber, como argumentos, um conjunto de parâmetros que podem ser enviados pela linha de comandos. Para já, não vou abordar esta questão. Finalmente, na linha 3, escrevemos o texto “Olá Mundo!” no ecrã. Irei falar melhor sobre este código no próximo artigo. Para já, temos apenas um exemplo!
Se fechou a sua janela de terminal, volte a abrir. Esta deverá ter a directoria actual posicionada na sua área de utilizador.
Entre na directoria que criou, com o nome “java” ou outro à sua escolha, digitando:
cd java
Compile o seu programa com:
javac programa.java
Note que o comando “javac” só está disponível se tiver instalado o JDK. Execute o programa com o comando:
java programa
E deverá ver a mensagem “Olá Mundo!” no seu ecrã.
Se costuma programar em C/C++, repare que não existe nenhum ficheiro executável (com o atributo “x” em Unix ou um ficheiro com a extensão “.exe” em Windows). Existe sim um ficheiro “programa.class”. Pode confirmar digitando o comando (em Unix):
ls -l
Ou, em Windows:
dir
O ficheiro “programa.class” é um ficheiro binário em “bytecode” e que será interpretado pela JVM, quando executa o comando “java”!
Se encontrar dificuldades, use a área de comentários para colocar as suas questões.
Mas, efectivamente, programar desta maneira é mais complicado. Vejamos agora como usar um ambiente de desenvolvimento integrado.
Usando o Eclipse
Como já referi, decidi adoptar o uso do Eclipse nos exemplos que irei dar. Caso prefira o NetBeans, e se estiver familiarizado com ele, use-o! Se ainda não tiver o Eclipse instalado, instale-o através deste link: https://www.eclipse.org/downloads/
Eu não vou entrar em grandes detalhes sobre esta ferramenta. Se é a primeira vez que vai usar o Eclipse, é normal que ele lhe peça para criar um “workspace“, que é uma área de trabalho onde pode criar vários projectos. Ao abrir o Eclipse, aceite as opções por omissão.
Crie um projecto JAVA com o botão direito do rato no “Project Explorer” e New > Project… ou menu “File > New > Project…”
Na janela de New Project, seleccione “Java Project“:
Clique em “Next” e na janela seguinte introduza o nome do projecto, com o nome, por exemplo, “programa”:
Por fim, clique em “Finish”. Poderá ainda aparecer uma janela a perguntar se deseja activar a “perspectiva JAVA” pelo que deverá responder que sim (botão “Yes“).
Terá agora um “Package Explorer” e lá dentro o nome do seu projecto “programa”. Expanda esta pasta e, em cima de “src” clique com o botão direito e escolha “New > Class“. Na janela “New Java Class”, introduza o nome da classe como “Programa” (por convenção, os nomes das classes deverão começar por uma letra maiúscula) e seleccione a opção “public static void main(String [] args)”:
Repara que o Eclipse também sugere um nome de um “package” com “programa”. Clique em “Finish” e teremos a nossa classe criada. Agora, na janela do “Project Explorer” irá encontrar o pacote “programa” e, lá dentro, a nossa classe “Programa”. Ao lado, na janela do código, encontrará a declaração “package programa;” na primeira linha, indicando o nome do pacote. Dentro da classe “Programa”, no método “main“, introduza a linha para exibir a mensagem “Olá Mundo!” e execute o programa através do menu “Run > Run” ou do botão com a seta verde na barra de ferramentas. Em baixo, deverá abrir um painel “Console” com o resultado do programa:
Poderá ver estes passos, com melhor detalhe, no seguinte vídeo “Como criar um projecto JAVA no Eclipse” que publiquei, como complemento a este artigo, no canal de YouTube do Out4Mind, onde também faço uma explicação resumida do conteúdo do programa.
Na segunda parte deste artigo irei explicar melhor o conteúdo deste programa, introduzir as bibliotecas do JAVA e falar sobre os tipos de variáveis nativas do JAVA.
Este artigo foi escrito de acordo com a antiga grafia.