Prefácio Este documento não pretende ensinar o Java, mas tão-somente dar a conhecer ao leitor esta tão poderosa e simples linguagem de programa ção. O Java é uma linguagem de programação multi-plataforma. Isto significa que o programador pode escolher para o seu ambiente de desenvolvimento um único sistema operativo e fazer correr a sua aplicação sobre uma variedade de sistemas de base. Pré-requisitos Para o nosso suporte de trabalho vamos utilizar o Windows 2000 e o Java 2 Standard Edition 1.4.2-03. O Java não é muito exigente em termos de recursos, pois vamos trabalhar na versão para a linha de comandos. Se se preferir programar num ambiente gráfico como o NetBeans, a escolha é sua; no entanto fique desde já avisado que qualquer ambiente de desenvolvimento gráfico consome recursos e o NetBeans não foge à regra; se o seu computador tiver apenas memória pouco mais do que para correr o Windows, então o melhor é reconsiderar a sua opção. Programar é um processo tedioso, ter um editor de texto (não confundir com processador de texto), como o Notepad, pode revelar ser útil, quanto mais não seja só para editar e imprimir programa s. De facto existe editores de texto muito poderosos, mas aqui não cabe analisá-los. Ter uma ligação à Internet, ou um amigo com acesso à Internet, também é importante, porque o tamanho do programa de instalação do Java ronda os 50MB. É claro que, se tiver uma linha lenta e muito tempo disponível para descarregar o programa, a questão também fica solucionada. Neste módulo não iremos ver a programação do Java para Rede de Computadores, por isso depois de o descarregar para o seu computador a conexão para a Internet já não vai ser precisa. Pág. 1
Onde é que se obtém o Java? O Java pode ser obtido no site da Sun (http://java.sun.com/j2se/1.4.2/download.html); escolha o Java 2 Platform, Standard Edition, v1.4.2 (J2SE), indicada na figura1. figura 1 Depois de clicar no DOWNLOAD, leia atentamente o license agreement para saber das condições de utilização. Dê a sua anuência e prossiga para o próximo ecrã. Escolha o Windows Offline Installation, Multi-language. Para informações mais detalhadas, consulte a nota de instala ção oficial da Sun http://java.sun.com/j2se/1.4.2/install-windows.html. Instalação do Java Partimos do princípio que o programa de instalação do Java foi descarregado para a directoria c:\source\j2se14203 e que o ficheiro se chama j2sdk-1_4_2_03-windows-i586-p.exe. A instalação é extremamente simples. Basta correr o programa de instalação e aceitar as opções por omissão. Para facilitar futuros upgrades do Java, mude o nome da directoria sugerida para c:\java. Depois de concluir, rearanque ( reboot ) o sistema. Para finalizar o processo de instalação, acrescente à variável de ambiente do utilizador PATH, o caminho completo que vai dar à directoria bin do programa Java recém instalado. Pág. 2
Só para relembrar que instalámos o Java na directoria c:\java, então adicione o caminho como indicado na figura 2. figura 2 Para confirmar se a instalação está bem feita, corra na caixa de comandos a seguinte instrução: java version (sem as aspas), como é exemplificado na figura 3. figura 3 Se der um erro após a execução da instrução, então é muito provável que a janela, utilizada para introduzir a instrução, já estava aberta, antes de adicionar o caminho na variável de ambiente. Para resolver o problema, basta fechá-la e repetir o comando numa nova janela de comandos. Nota: Não se esqueça que estamos a trabalhar no ambiente Windows 2000. Para o Win9x ou o Me a configuração da variável de ambiente é ligeiramente diferente, mas a nota de instalação da Sun (http://java.sun.com/j2se/1.4.2/install-windows.html) é muito minuciosa nesse aspecto. Agora, o Java já deve estar operacional e pronto para ser utilizado. Pág. 3
Introdução O Java é uma linguagem de programação orientada para objectos. A estrutura é muito semelhante à do C ou C++, contudo o Java não permite certas veleidades que o C ou C++ permitem. A seguir está um exemplo que ilustra como o C não verifica que o conteúdo da variável origem não cabe no espaço de memória da variável destino. main() { char *s = "HotJava is Cool!"; char t[] = "Java is Cool!"; printf("%s, %s\n", s, t); mystrcopy(t, s); printf("%s, %s\n", s, t); int mystrcopy(char *dest, char *src) { for ( ; *src!= '\0'; src++, dest++) *dest = *src; Nota: O compilador C++, versão 5.5, da Borland é gratuito e suficiente para o nosso propósito. Para mais informações e como descarregá-lo para o seu computador pode seguir o web link que se segue: www.borland.com/products/downloads/download_cbuilder.html Se já testou o código anterior então deve ter notado que à frente da última frase apareceu uns caracteres a mais. A figura 4 ilustra o exemplo (o programa foi compilado na directoria c:\temp, com o nome teste). figura 4 O Java não teria deixado passar esta traquinice! A versatilidade, a portabilidade e a segurança são marcas que destacam o Java de outras linguagens de programação. Estas qualidades são também, sem dúvida, muito bem aceites no ensino e no mundo comercial. Pág. 4
Primeiro programa em Java Para começar vamos criar um ficheiro chamado Hello.java, com o Notepad, na directoria c:\exer. Na folha branca do editor de texto, escreva o programa que se segue e depois grave-o. public class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Neste momento já tem o seu código fonte. O passo seguinte é compilá-lo. Abra uma janela de linha de comandos e mude a directoria activa para c:\exer (execute cd \exer, para mudar de directoria). A seguir execute javac Hello.java, para compilar o código fonte. O que o compilador vai fazer, é criar um ficheiro chamado Hello.class ; a esse ficheiro.class dá-se o nome de bytecode. Para fazer correr o programa basta executar o comando java Hello. Qual foi o resultado? O programa deve ter escrito Hello World!, como é ilustrado na figura 5. figura 5 Nota: Há que ter em atenção que o Java é sensível à capitalização. Pois Hello.java é diferente de hello.java. Esquematizando o processo, genérico, de criação de um ficheiro executável Java : Editor Notepad Código Fonte Hello.java Compilador javac Bytecode Hello.class Interpretador java Hello World! Livrarias Pág. 5
Um presente Como foi dito na introdução, o Java é uma linguagem de programa ção orientada para objectos, isto significa que quando o programador está a conceber uma aplicação em Java, ele está a levar em conta que os blocos de programa ção devem comportar-se como se fossem objectos. Muito abstracto! Então estamos no bom caminho. Imagine-se que está a receber um presente do seu amigo. Ao abrir o embrulho encontra um pacote ( package ). Dentro do pacote encontra vários objectos ( object ) e cada objecto pertence a uma classe ( class ) diferente. Os objectos têm canais de comunicação que devem servir para comunica r ( message ) entre eles; um dos objectos permite fazer qualquer coisa ( method ), bastando para isso inse rir umas moedas na sequência correcta ( parameter ) numa ranhura. Premissa: O pacote mais importante de toda a linguagem de programação Java é, sem dúvidas, o java.lang. Dentro desse pacote pode se encontrar várias classes e uma delas, o object, é a raiz de todos os objectos. No exemplo, System.out.println("Hello World!");, System.out é um objecto da classe PrintStream que tem implementado um método chamado println. O println está a aceitar como parâmetro Hello World! ; o println tem como finalidade canalizar os seus parâmetros para a saída padrão ( standard ouput ), que normalmente é o ecrã. O println( Hello World! ) constitui, por sua vez, a mensagem. O Hello World!, na realidade, também é um objecto e pertence à classe do String, ou seja, qualquer método da classe String pode ser aplicado ao Hello World!. Ora vejamos, o String tem um método chamado length, isto significa que o length pode ser aplicado ao Hello World!. Tente alterar programa anterior da seguinte forma: public class Hello { public static void main(string[] args) { System.out.println("Hello World!".length()); Consegue prever o resultado? Muito bem, o programa escreve 12 no ecrã. Pág. 6