Professional Documents
Culture Documents
Citeforma
Jose Aser Lorenzo, Pedro Nunes, Paulo Jorge Martins jose.l.aser@sapo.pt Fevereiro de 2014
1 - A linguagem Java
Sumrio
A linguagem Java ..................................................................................................................3
Objetivos ........................................................................................................................................4 Caractersticas da linguagem ........................................................................................................5 O Java e o bytecode ........................................................................................................................7 Arquitetura das aplicaes Java ...................................................................................................9 Instalao do ambiente de trabalho ............................................................................................ 13 Instalar o NetBeans .................................................................................................................... 16 Instalao de raiz .................................................................................................................... 16 Instalao do Netbeans portable de Jos Aser ......................................................................... 17 Arranque e configurao do NetBeans........................................................................................ 18 Configurar o acesso ao Javadocs ................................................................................................ 19 Escrever um programa no NetBeans .......................................................................................... 21 Criar um projeto ......................................................................................................................... 22 Criar uma classe dentro de um package ...................................................................................... 24 Introduzir o cdigo do programa OlaMundo ............................................................................... 26 Correo de erros, compilao e execuo.................................................................................. 27
2/28
1 - A linguagem Java
A linguagem Java
Java Fundamentos
3/28
1 - A linguagem Java
Objetivos
Objetivos
Conhecer as caractersticas distintivas da linguagem Java, suas vantagens e inconvenientes. Arrancar com o NetBeans e fazer as configuraes bsicas; Criar um projeto; Escrever um pequeno programa, compilar e executar;
Java Fundamentos
4/28
1 - A linguagem Java
Caractersticas da linguagem
Sumrio
Caractersticas da linguagem Java; O Java e o bytecode; Arquitetura das aplicaes Java; Instalao do ambiente de trabalho; Escrever um programa no NetBeans;
Java Fundamentos
5/28
1 - A linguagem Java
Caractersticas da linguagem
Portabilidade graas ao bytecode e ao JRE; Orientada a objectos modelo simplificado para herana simples; Facilidade de aprendizagem herana simples, garbage collector, built in types; Segurana cifra de dados, protocolos de comunicaes cifrados, robustez e fiabilidade do JRE; Propriedade da Sun Microsystems, e Open Source desde 2006.
3
Java Fundamentos
A linguagem Java apresenta as seguintes caractersticas diferenciadoras: Portabilidade Corre em todas as plataformas onde h uma Java Virtual Machine; Orientada a objetos Permite o reaproveitamento de cdigo e o encapsulamento dos dados junto das operaes sobre eles definidas e disponibiliza inmeras classes utilitrias, que facilmente podem ser usadas ou integradas nos nossos programas. Facilidade de aprendizagem mais simples de aprender e de utilizar que outras linguagens orientadas a objetos, como o C++. Segurana Permite o desenvolvimento de programas robustos e disponibiliza mecanismos de execuo controlada e comunicao de dados cifrada; Propriedade da Oracle (antes da Sun Microsystems), open source desde 2006 e facultada sem custos, mesmo para fins profissionais. Como inconvenientes temos: Desempenho Uma parte do cdigo interpretado e portanto mais lenta que o C e o C++, mas mais rpida que as outras linguagens; Acesso ao hardware Como corre sobre uma mquina virtual torna estas operaes mais difceis, embora no impossveis; Consumo de memria A mquina virtual Java consome mais memria que um programa executvel em C ou C++;
6/28
1 - A linguagem Java
O Java e o bytecode
Sumrio
Caractersticas da linguagem Java; O Java e o bytecode; Arquitetura das aplicaes Java; Instalao do ambiente de trabalho; Escrever um programa no NetBeans;
Java Fundamentos
7/28
1 - A linguagem Java
O Java e o bytecode
Programa em execuo num PC
JAVA ByteCode
Programa em execuo num servidor AS/400
Java Fundamentos
A filosofia da linguagem Java contrasta com a forma tradicional de desenvolvimento de aplicaes. Um programa em C, depois de compilado em Windows, no corre em MacOS, nem num servidor Unix, nem num mainframe IBM. Para que corra necessrio recompilar o programa e ter esperana que as bibliotecas que foram usadas inicialmente existam nas mquinas destino. Em Java um programa compilado num computador corre em qualquer plataforma que possua uma mquina virtual Java, sem modificao adicional, como ilustrado na figura. O compilador Java gera bytecode que no cdigo mquina especfico para uma plataforma, mas sim cdigo convertido em executvel por qualquer mquina virtual Java. O JRE (mquina virtual java) dependente da plataforma, pois tem que ter a capacidade de interpretar o bytecode e traduzi-lo para cdigo mquina nativo. Mais informao sobre bytecode pode ser encontrada neste link: http://en.wikipedia.org/wiki/Java_bytecode
O lema da linguagem Java : WRITE ONCE, RUN ANYWHERE
8/28
1 - A linguagem Java
Sumrio
Caractersticas da linguagem Java; O Java e o bytecode; Arquitetura das aplicaes Java; Instalao do ambiente de trabalho; Escrever um programa no NetBeans;
Java Fundamentos
9/28
1 - A linguagem Java
JRE J2SE
JRE J2SE
JRE J2ME
Java Fundamentos
A linguagem Java permite o desenvolvimento de aplicaes com diferentes tipos de arquiteturas combinadas com diferentes ambientes de execuo. possvel desenvolver em Java para:1. Computadores pessoais, com o Java Standard Edition (J2SE); 2. Servidores Linux ou Unix e Mainframes, com o J2SE e o Enterprise Edition (J2EE); 3. Dispositivos mveis como PDA ou telemvel, com o Java Micro Edition (J2ME);
10/28
1 - A linguagem Java
2 - Dados
Java Fundamentos
A figura ilustra a ligao a uma base de dados por um programa Java atravs de JDBC (Java Database Conectivity) que parte integrante do Java Standard Edition (JSE).
11/28
1 - A linguagem Java
Servidor de aplicaes
4 HTML + dados
3-D
ados
Browser
Java Fundamentos
Na arquitetura cliente/servidor, os programas cliente efetuam pedidos ao programa servidor e este atende os pedidos dos diversos clientes. O acesso base de dados feito exclusivamente pelo servidor. A figura anterior ilustra um ambiente de 3 camadas: cliente, servidor de aplicaes e base de dados. O servidor de aplicaes foi desenvolvido em Java e utiliza a Standar Edition e a Enterprise Edition. Neste exemplo o servidor que interage com a base de dados, via JDBC. Ao contrrio do modelo anterior, em que os clientes so programas stand-alone, aqui os clientes so browsers.
12/28
1 - A linguagem Java
Sumrio
Caractersticas da linguagem Java; O Java e o bytecode; Arquitetura das aplicaes Java; Instalao do ambiente de trabalho; Escrever um programa no NetBeans;
Java Fundamentos
10
13/28
1 - A linguagem Java
Software necessrio
Editor de texto; Compilador JDK (Java Development Kit); Mquina virtual Java JRE (Java Development Kit); Um IDE (Integrated Development Environment) fornece estas tools integradas:
NetBeans (free); Eclipse (free); Jdeveloper (Oracle); Jbuilder (Borland,Codegear, Embarcadero); IntelliJIDEA (JetBrains);
Captulo 1 - A linguagem Java
11
Java Fundamentos
Para executar um programa Java necessitamos um Java Runtime Environment (JRE), pacote fornecido gratuitamente pela Oracle (inicialmente pela Sun) e que inclui a Mquina Virtual Java (JVM). Para desenvolver programas necessitamos o Java Development Kit (JDK), tambm facultado gratuitamente, que inclui o JRE e o compilador, entre outras ferramentas. O programa fonte ser armazenado num ficheiro de texto, pelo que necessitamos um editor de texto para o escrever e alterar. Esse programa ser traduzido para byte code pelo compilador includo no JDK e finalmente executado pela mquina virtual (JVM) includa no JRE. Para desenvolver programas complexos aconselhvel que se utilize um IDE (Integrated Development Environment) pois disponibiliza um ambiente de desenvolvimento que inclui: Um editor de texto; Um verificador de sintaxe integrado com o editor de texto; Mensagens de alerta integradas no editor e verificador de sintaxe; Invocao do compilador e da mquina virtual para execuo do programa; Acesso direto documentao da linguagem e contextualizado com o pedao de cdigo Java que estamos a analisar; Alertas sobre os erros mais comuns para que o programador os possa evitar;
Vrias organizaes disponibilizam IDEs, alguns destes com um acordo de licenciamento Open-Source, que permite a sua utilizao sem custos, mesmo para desenvolvimento com fins comerciais. Os exemplos mais conhecidos de Open-Source so o Eclipse e o NetBeans. Tambm so disponibilizados IDEs como produtos de software que requerem licenciamento, como por exemplo o JDeveloper da Oracle. 14/28
1 - A linguagem Java
No sitio WEB da Oracle possvel descarregar de forma gratuita a documentao das classes Java (Javadocs) que integram o JDK. Nestes documentos so descritas todas as classes, variveis e mtodos, constituindo assum um excelente manual de referncia para o programador Java. No sitio da Oracle (http://www.oracle.com) encontramos disponvel para download tudo o que precisamos para programar em Java: JDK e JRE; Documentao descritiva das classes que constituem o JDK (Javadocs); Vrios exemplos de aplicaes Java; O Java Tutorial, livro em formato HTML que aborda toda a componente Standard Edition (JSE) em verso ZIP que pode ser descarregada para o computador pessoal e numa verso on-line; O NetBeans.
Informao detalhada sobre o NetBeans pode ser encontrada em http://www.netbeans.org, no esquecendo que, por ser desenvolvido em Java, est disponvel para vrias plataformas. Na verso Windows est disponvel um pacote que inclui tambm o JDK e o JRE. Alm do NetBeans existem outros IDEs que podero ser utilizados para executar os exerccios propostos neste curso: O JDevelopper desenvolvido pela Oracle, tem utilizao free e pode ser obtido no sitio da Oracle; Eclipse resulta de um projeto open source, desde sempre apoiado pela IBM e pode ser obtido no seguinte endereo: http://www.eclipse.org. o IDE open-source mais antigo e talvez com a maior base instalada. A sua utilizao no to intuitiva quanto o Netbeans, pois incorpora princpios herdados das ferramentas de desenvolvimento IBM. No entanto a sua velocidade e estabilidade so exemplares. A sua idade e o fato de ser uma framework de desenvolvimento permitem a disponibilizao de plugins para as mais diversas utilizaes, como produo de diagramas UML, interao com a base de dados, programao em PHP e Java.
Os exerccios deste manual podem ser feitos com qualquer um dos IDE anteriores, embora seja dada preferncia ao NetBeans pela sua facilidade de utilizao e apoio aos utilizadores menos experientes.
15/28
1 - A linguagem Java
Instalar o NetBeans
www.oracle.com Download do JDK, respetiva documentao e Java Tutorial; www.netbeans.org descarregar o NetBeans verso Java EE; Instalar por esta ordem:
a) b) c)
JDK (requer privs de administrador por causa do JRE); Netbeans; Unzip de documentao e Java Tutorial;
2.
Para instalar o ambiente de desenvolvimento podemos optar por dois caminhos: instalar e configurar tudo de raiz ou aproveitar uma instalao j feita.
Instalao de raiz
Para instalar de raiz devemos proceder da seguinte forma: 1. Instalao do JDK que inclui a instalao de um JRE. Esta ltima requer privilgios de administrao pois ser instalado tambm um plugin para os browsers que o instalador detetar na mquina. Ser tambm criado um servio que permite as atualizaes automticas do JRE; 2. Instalao do IDE seguindo as recomendaes do fabricante; 3. Fazer download da documentao (Javadocs.ZIP) e expandir os documentos para uma diretoria a seu gosto; 4. Fazer download do JavaTutorial e expandir o manual para uma diretoria a seu gosto.
16/28
1 - A linguagem Java
O NetBeans portable de Jos Aser tem tudo o que precisa; Para fazer download use este link:
https://meocloud.pt/link/1ce9523c-5dd5-402f-95cef5178f3bc8d7/JavaLib.7z
Fazer unzip para instalar, de preferncia em C:\ No requer privilgios de administrador; Confirme que a diretoria \JavaLib\netbeansconf est vazia;
Java Fundamentos
13
17/28
1 - A linguagem Java
Executar o ficheiro \NetBeans\bin\Netbeans.exe Desative a janela de boas vindas (show on startup) e feche-a;
Para melhorar desempenho desinstale plugins que no fazem falta. Em Tools Plugins Installed escolher:
Subversion, Spellchecker, Hudson, Mercurial, SpellChecker English Dictionaries, CVS, NetBeans Plugin Development, Spring Beans, Hibernate, Maven, Struts, Spring Web MVC, Softeware as a Service; Unistall;
Captulo 1 - A linguagem Java
14
Java Fundamentos
18/28
1 - A linguagem Java
Se pretender usar o NetBeans num sitio onde no tem acesso NET, pode ativar a documentao local em substituio da documentao na Web:
No Netbeans ir a Tools Java Platform Java Doc; Adicionar a directoria docs como indicado na imagem seguinte
O NetBeans deve apontar para a directoria API que est dentro da documentao;
Java Fundamentos
15
Quando o programador precisa de mais informao sobre os mtodos de classes prdefinidos o recurso documentao standard essencial (Javadocs). Esta documentao est disponvel on-line e para download. Por omisso o NetBeans est configurado para pesquisar essa documentao on-line, mas por vezes no temos acesso internet, situaes em que possvel fazer download e instalao local. Neste caso o NetBeans vai ser configurado para aceder documentao local, o que explicado no slide anterior e no prximo.
19/28
1 - A linguagem Java
Javadocs
#2/2
Java Fundamentos
16
20/28
1 - A linguagem Java
Sumrio
Caractersticas da linguagem; O Java e o bytecode; Arquitetura das aplicaes Java; Instalao do ambiente de trabalho; Escrever um programa no NetBeans;
Java Fundamentos
17
21/28
1 - A linguagem Java
Criar um projeto
File New Project Java Application; Nome: JavaFundamentos; Escolher a diretoria onde vai ficar guardado; No ativar Create Main Class No ativar Set as Main Project
Java Fundamentos
18
A criao de um projeto o primeiro passo para escrever um programa. Um programa Java constitudo por uma ou mais classes, ficheiros de dados e outras informaes de controlo necessrias ao seu funcionamento. Um projeto NetBeans onde tudo isso fica guardado. Siga as instrues indicadas no slide para criar um projeto.
22/28
1 - A linguagem Java
Java Fundamentos
19
23/28
1 - A linguagem Java
New Java Class; Nome: OlaMundo (Primeira letra em maiscula e M de mundo tambm); Package: capitulo1
Java Fundamentos
20
Um programa Java contem uma ou mais classes. Estas so arrumadas em packages. H vrios critrios para arrumar classes e neste curso optamos por arrumar por captulo. Classes e packages sero abordadas em captulos especficos neste curso. A classe vai conter as instrues do nosso programa e vai chamar-se OlaMundo (repare que o nome comea por letra maiscula). Esta classe vai ficar armazenada num package com o nome capitulo1 (o nome comea por letra minscula).
24/28
1 - A linguagem Java
Java Fundamentos
19
25/28
1 - A linguagem Java
Java Fundamentos
22
Copie o cdigo apresentado no slide para dentro da classe criada no ponto anterior. importante respeitar as letras maisculas e minsculas.
26/28
1 - A linguagem Java
Compilao e execuo com opo RUN FILE (menu de contexto sobre a classe); Se a opo RUN FILE no aparece ou surge a mensagem Class does not have a main method significa que o mtodo main no est bem definido:
Java Fundamentos
23
Siga as instrues do slide para compilar e executar a classe. Se tiver erros confira que no se enganou na cpia. Mais tarde vamos explicar o significado destas instrues.
27/28
1 - A linguagem Java
Sumrio
Caractersticas da linguagem Java; O Java e o bytecode; Arquitetura das aplicaes Java; Instalao do ambiente de trabalho; Escrever um programa no NetBeans;
Java Fundamentos
24
28/28