Sie sind auf Seite 1von 20

Introduo ao Java

Meta da aula

Apresentar as principais caractersticas da plataforma Java.

objetivos

Aps o estudo do contedo desta aula, esperamos que voc seja capaz de:
1 2 3

descrever o histrico da tecnologia Java; descrever as caractersticas do Java; identificar os componentes da plataforma Java Standard Edition; criar e identificar as principais estruturas de uma classe em Java.

Pr-requisitos
Para o correto e completo aprendizado desta aula, preciso que voc: tenha um computador com o Windows XP ou Windows Vista instalado com pelo menos 512MB de memria RAM; tenha instalado e configurado o Java Development Kit (JDK), conforme as instrues do Apndice A; tenha instalado o Ambiente de Desenvolvimento Integrado (IDE) NetBeans, conforme as instrues do Apndice B; esteja animado e motivado para iniciar o aprendizado dessa fabulosa linguagem de programao que est dominando os mercados de desenvolvimento, programao e tecnologia na atualidade.

AULA

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

Introduo

Voc j ouviu falar na ilha de Java? Alm de uma das tecnologias mais importantes da computao, Java tambm uma das mais famosas ilhas do oceano ndico, e foi justamente essa ilha que deu origem ao nome da linguagem de programao Java.

Pesquise mais em http://pt.wikipedia.org/wiki/Java e descubra mais sobre a ilha de Java antes de entrar no mundo fantstico da tecnologia Java.

O Java como linguagem de programao nasceu em 1991 pelas mos de um pesquisador da Sun Microsystems, James Gosling.

Figura 1.1: James Goling, o criador do Java.

Fonte: http://cnettv.cnet.com/2001-1_53-27469.html

22

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

A Sun Microsystems uma das maiores empresas de tecnologia do mundo. Atua nos setores de fabricao de computadores, semicondutores e software. Sua sede fica em Santa Clara, Califrnia, no Silicon Valley (Vale do Silcio). As fbricas da Sun localizam-se em Hillsboro, no Oregon, EUA, e em Linlithgow, na Esccia. O nome Sun vem de Stanford University Network (Rede da Universidade de Stanford). Os produtos da Sun incluem servidores e estaes de trabalho (workstations) baseados no seu prprio processador SPARC, no processador Opteron, da AMD, nos sistemas operacionais Solaris e Linux, no sistema de arquivos de rede NFS e na plataforma Java. Saiba mais sobre a Sun Microsystems em http://pt.wikipedia. org/wiki/sun_microsystems. interessante conhecer a empresa que criou a tecnologia que voc ir estudar.

O nome inicial da linguagem era Oak (carvalho, em portugus), pois existiam muitos carvalhos na rea da empresa e eles eram visveis pela janela dos programadores. Devido a problemas de direitos autorais, o nome acabou sendo alterado para Java, pois j existia uma linguagem chamada Oak. A ideia original do projeto era desenvolver uma linguagem de programao que fosse independente de plataforma e que pudesse ser executada em diferentes dispositivos eletrnicos, como geladeiras, televises ou foges. Inicialmente, o projeto no foi prioridade para a Sun, j que alguns executivos acharam absurda a ideia de ter uma linguagem que pudesse ser processada numa televiso. Com a chegada da TV digital interativa, podemos ver que no estavam to errados assim... Mas com o sucesso da internet e a necessidade de linguagens que suportassem objetos dinmicos e independentes de plataforma, a empresa viu uma oportunidade para o emprego da tecnologia que o projeto Oak havia desenvolvido.

CEC I E R J E X T E N S O E M G O V E R N A N A

23

AULA

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

A TECNOLOGIA JAVA

Linguagem de programao

Java uma linguagem de programao orientada a objetos, robusta, elegante e com todas as caractersticas das linguagens modernas, podendo ser utilizada nos mais diversos ambientes, desde aplicaes simples no desktop at complexos aplicativos web, programao de robs, redes de sensores, celulares e televiso digital interativa, alm de muitos outros.

24

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

Como desenvolvedor Java, voc ter sua disposio um conjunto de ferramentas poderosas capazes de abranger vrias tarefas envolvidas no processo de desenvolvimento de software dentro do seu ciclo de vida. Dentre as principais ferramentas disponveis, podemos citar: o compilador (javac); o interpretador (java); o gerador de documentao (javadoc); a ferramenta de compactao de arquivos (jar);  diversas outras ferramentas instaladas no diretrio bin da distribuio. J ava Virtual Machine (JVM)
Mquina virtual que faz com que o seu programa em Java se comunique com o sistema operacional e com o hardware do computador.

Ambiente de aplicao
A forma de execuo da linguagem Java baseada na interpretao por meio de uma mquina virtual, a J ava V i r t u a l M a c h i n e (JVM) . Ela proporciona um ambiente de aplicao completo para execuo de aplicativos Java.

Atividade prtica 1
Vamos pesquisar um pouco? Acesse, no site da Sun, as reas sobre Java e descubra por que ele uma das tecnologias que mais intrigam o mundo moderno de tecnologia: http://java.sun.com.
2

RAIO X DO JAVA
O desenvolvimento em Java dividido em trs grandes plataformas, de acordo com as caractersticas e os objetivos do sistema implementado:  A primeira plataforma: o core de todo sistema Java; utilizada como base da linguagem, alm de possuir algumas bibliotecas para desenvolvimento de aplicaes grficas, programao em redes e processamento paralelo. A esse conjunto core damos o nome de J ava S ta n d a r d E d i t i o n (JSE) .
CEC I E R J E X T E N S O E M G O V E R N A N A

J ava S ta n d a r d E d i t i o n (JSE)
Pacote-base para o desenvolvimento de programas em Java.

25

AULA

Ambiente de desenvolvimento

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

J ava Enterprise E d i t i o n (JEE)


Pacote para desenvolvimento de programas para o segmento corporativo, programao distribuda e programao web.

A segunda plataforma: engloba desenvolvimento web, programao distribuda corporativa, servios corporativos especiais como Web Services e Enterprise Java Beans, alm de bibliotecas de gerenciamento. Essa plataforma se chama J ava E n t e r p r i s e E d i t i o n (JEE) e tem como requisito o prprio JSE. A plataforma de desenvolvimento para dispositivos mveis e embarcados: d suporte a toda programao para celulares, televiso digital e outros dispositivos com menor poder de processamento; a plataforma J ava M i c r o E d i t i o n (JME) .

J ava M i c r o E d i t i o n (JME)
Pacote para desenvolvimento de programas para dispositivos mveis como celulares, palm tops etc.

Nosso curso ser focado no JSE (primeira plataforma), que a base para que o aluno prossiga no estudo de plataformas mais complexas. Veja a seguir os mdulos que compem o JSE:

Java Platform Standard Edition

Java Language Development Tools & APIs

Java Language java Security javac Int'l javadoc RMI apt IDL jar Deploy javap
Monitoring

JPDA
Trobleshooting

Other JVM TI

Development Technologies User Interface Toolkits

Deployment AWT
Accessibility

Java Web Start Swing


Image I/0

Java Plug-in Java 2D


Print Service RMI Sound RMI-IIOP JNI Extension Mechanism Logging Versioning Math XML JAXP Management Zip J2SE API

Drag'n Drop Imput Methods JDBC

Integrations Libraries JDK Other Base JRE Libraries

IDL Beans Networking

JNDI I/0 New I/0

Int'I Support Std. Override Mechanism Collections Ref Objects

JMX Serialization JAR Regular Expressions

Security Concurrency Utilities Reflection

lang & util Base Libraries

Lang & Util Preferences

Java Virtual Machine

Java Hotspot Client Compiler


Solaris Windows

Java Hotspot Server Compiler


Linux Other

Platforms

Fonte: javadocs - jdk 1.6.03.

Figura 1.2: Estrutura do Java Standard Edition.

26

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

Java Virtual Machine (JVM)


Imagine uma mquina criada por meio de um software emulador dentro de uma mquina real, como se fosse um minicomputador dentro do seu prprio computador, e que possui gerenciamento de memria,
cache, threads

e outros processos de um computador com seu sistema

operacional. Exatamente! Essa mquina existe e se chama Mquina Virtual Java, ou JVM. A Mquina Virtual Java prov especificaes de plataforma de hardware na qual se compila todo cdigo de tecnologia Java. Essas especificaes permitem que o software Java seja uma plataforma independente, pois a compilao feita por uma mquina genrica, a JVM. O resultado de uma compilao de um cdigo fonte Java o bytecode, que uma linguagem de mquina inteligvel para a JVM. O bytecode independente de hardware; assim, basta o computador ou o dispositivo eletrnico (como um celular ou televiso) ter o interpretador adequado (a JVM) que poder executar um programa Java compilado, no importando em que tipo de computador ele foi compilado.

Subsistema especial da memria de alta velocidade, utilizado para armazenar dados temporariamente at que eles sejam solicitados. Os dados utilizados com mais frequncia so copiados para ela, permitindo acesso mais rpido. uma forma de acelerar a memria, o processador e as transferncias do disco. Os caches de memria armazenam o contedo das posies mais atualizadas da RAM e os endereos onde esses dados esto armazenados.
Fonte: http://www.aoli. com.br/dicionarios. aspx?palavra=Cache.

Garbage Collection
Visualize a memria do seu computador como uma grande rua onde uma equipe de gandulas de tempos em tempos vai limpando tudo que no est sendo utilizado pelo Java. Isso mesmo. Essa equipe presta ao sistema operacional um importante servio de coleta de lixo, que chamamos de Garbage Collection. Muitas linguagens de programao permitem ao programador alocar memria durante o tempo de execuo. Entretanto, aps utilizar a memria alocada, deve existir uma maneira para desalocar o bloco de memria, de forma que os demais programas a utilizem novamente. Em C, C++ e outras linguagens, o programador o responsvel por isso, o que s vezes pode ser difcil, j que os programadores podem esquecer de desalocar instncias da memria e resultar no que chamamos escapes da memria. No Java, voc, programador, no possui a obrigao de retirar das reas de memria uma varivel criada. Isso feito por uma parte especfica da JVM que chamamos de Garbage Collection. A Garbage Collection a grande responsvel pela liberao automtica do espao

Threads
Processo de diviso de tarefas em programao de computadores.
Fonte: http:// pt.wikipedia.org/wiki/ Thread.

CEC I E R J E X T E N S O E M G O V E R N A N A

27

AULA

Cache

CARACTERSTICAS DO JAVA

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

em memria. Isso acontece automaticamente durante o tempo de vida do programa Java.

Java Runtime Environment


A implementao de uma mquina Java juntamente com a JVM para o usurio final dos sistemas feita por meio de um pacote chamado Java Runtime Environment (JRE). O JRE roda cdigos compilados para a JVM e executa o carregamento de classes (por meio do Class Loader), a verificao de cdigo (por meio do verificador de bytecode) e finalmente o cdigo executvel. O Class Loader responsvel por carregar todas as classes necessrias ao programa Java. Isso adiciona segurana, por meio da separao do namespace entre as classes do sistema de arquivos local e aquelas que so importadas pela rede. Isso limita qualquer ao de programas que podem causar danos, pois as classes locais so carregadas primeiro. Depois de carregar todas as classes, a quantidade de memria que o executvel ir ocupar determinada. Isso acrescenta, novamente, proteo ao acesso no autorizado de reas restritas ao cdigo, pois a quantidade de memria ocupada determinada em tempo de execuo. Aps carregar as classes e definir a quantidade de memria, o verificador de bytecode verifica o formato dos fragmentos de cdigo e pesquisa, nesses fragmentos, cdigos ilegais que possam violar o direito de acesso aos objetos. Depois que tudo isso tiver sido feito, o cdigo finalmente executado.

CICLO DE EXECUO DE UM PROGRAMA EM JAVA


Voc vai entender agora como o fluxo de execuo de um programa em Java, desde sua codificao at sua interpretao pela mquina virtual. O primeiro passo para a criao de um programa Java escrever os programas em um editor de texto. Qualquer tipo de editor pode ser utilizado, como o bloco de notas, vi, emacs etc. A nica obrigatoriedade que esses arquivos devem ser armazenados no disco rgido com a extenso .java.

28

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

arquivo de bytecode com extenso .class. O arquivo .class ento lido pelo interpretador Java (java JVM), que converte os bytecodes em linguagem de mquina do computador ou dispositivo que est sendo usado. A figura a seguir ilustra todo o processo de execuo de um programa em Java.

Party at Tlm's

source code for the interactive party inviation

Method Party() 0 aload_0 1 invokespecial #1 <Methodjava. Jang.Object()> 4 return

Source

Output (code) Compiler

3
at Party Tlm's

Virtual Machines

4
Figura 1.3: Processo de execuo de um programa em Java.
Fonte: Livro Use a cabea! Java.

Atividade prtica 2
4 Vamos comear a programar! Para compilar e executar um programa Java corretamente, voc deve ter o JDK (Java Development Kit) instalado. Alm disso, as variveis de ambiente do Windows devem estar corretamente configuradas. Execute as tarefas de download, instalao e configurao do JDK seguindo as orientaes do Apndice A. A partir de ento, voc poder testar seus cdigos Java.

CEC I E R J E X T E N S O E M G O V E R N A N A

29

AULA

lo utilizando o compilador Java (javac). A sada desse processo um

Aps o programa Java ter sido criado e salvo, voc deve compil-

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

ESCREVENDO SEU PRIMEIRO PROGRAMA EM JAVA Utilizando o prompt do Windows e o Bloco de Notas
Voc vai agora construir o primeiro exemplo de programa em Java. A compilao e a execuo do programa sero feitas pelo prompt de comando do Windows. Passo 1: Inicie o Bloco de Notas do Windows seguindo os coman dos Iniciar => Programas => Acessrios => Bloco de Notas. Passo 2: Abra o prompt de comando do Windows seguindo os  comandos Iniciar => Programas => Acessrios => Prompt de Comando. Passo 3: No Bloco de Notas, digite as seguintes instrues de um  simples programa em Java:

Figura 1.4: Primeira classe em Java.


Fonte: Bloco de Notas.

Seja rigoroso em todos os smbolos utilizados, principalmente no que se refere a letras maisculas e minsculas, pois fazem diferena no Java.

30

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

Figura 1.5: Salvando sua primeira classe em Java.


Fonte: Bloco de Notas.

Passo 5: V para o prompt de comando e navegue at a pasta  MeusProgramas. Passo 6: Nessa pasta, digite o comando dir para verificar se o seu  arquivo Hello.java est dentro do diretrio. Se estiver tudo certo, j podemos compilar nosso primeiro programa em Java. Passo 7: Para compilar um programa Java, devemos executar o  compilador Java (javac) passando na linha de comando o nome do programa a ser compilado; no nosso caso, o Hello.java. Os comandos a serem executados so os mostrados na figura do prompt a seguir. Se no tiver nenhum erro, o cursor do prompt aparecer novamente na linha de baixo.

CEC I E R J E X T E N S O E M G O V E R N A N A

31

AULA

pasta chamada MeusProgramas.

Passo 4: Salve o programa como Hello.java e coloque numa 

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

Figura 1.6: Compilando sua primeira classe em Java.


Fonte: Prompt de Comando.

Passo 8: Digite novamente o comando dir para verificar se a compilao foi realizada normalmente. Como voc j viu, a compilao de um arquivo .java tem como resultado o bytecode, que um arquivo .class com o mesmo nome, como mostrado na figura a seguir:

Figura 1.7: Verificando a classe compilada.


Fonte: Prompt de Comando.

32

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

do bytecode, atravs do nome do arquivo gerado na compilao, dessa vez sem a extenso (sem o .class) como mostrado a seguir. O bytecode interpretado pela JVM e a sada do texto digitado realizada pelo prompt, conforme foi solicitado no cdigo do programa.

Fonte: Prompt de Comando.

Figura 1.8: Executando sua primeira classe em Java.

Atividade prtica 3
Vamos comear a programar! Siga os passos anteriores e veja voc mesmo seu primeiro programa em Java funcionando!
4

CEC I E R J E X T E N S O E M G O V E R N A N A

33

AULA

meio do comando java, passando na linha de comando o arquivo

Passo 9: Por ltimo, chame a Mquina Virtual Java (JVM) por 

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

Utilizando um Ambiente de Desenvolvimento (IDE)


Para continuar seu aprendizado de forma produtiva, iremos empregar um ambiente profissional, que o mesmo utilizado nas empresas de desenvolvimento de software: usaremos o ambiente de desenvolvimento NetBeans, da Sun Microsystems. Para isso, voc precisar executar as tarefas de download, instalao e configurao do NetBeans que esto explicadas de forma detalhada no Apndice B.

Apesar de muitos dos nossos programas no exigirem ferramentas sofisticadas para programao, como voc viu no ltimo exemplo, profissionalmente as empresas necessitam de um ambiente integrado com algumas caractersticas, como maior velocidade de programao, automatizao de processos e testes, alm da necessidade de melhorar a produtividade e o gerenciamento das equipes. Nesse contexto, pode ser interessante a utilizao de ferramentas especializadas que controlem todos esses fatores, trazendo vantagem considervel no ciclo produtivo das empresas de software. Essas ferramentas se chamam ambiente de desenvolvimento integrado (integrated development environment), ou simplesmente IDE.

Atividade de reflexo 1
1 2 3 4 Pesquise um pouco! Pesquise em sites de busca (como www.google.com.br) e em informaes colaborativas (como www.pt.wikipedia.org) sobre a linguagem de programao Java e tambm sobre IDE. Depois da pesquisa, escreva com suas prprias palavras nas linhas a seguir o que entendeu sobre a linguagem Java e tambm sobre IDE. Java: ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________

34

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

IDE: ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________

Vamos utilizar nesta disciplina uma IDE produzida pela prpria Sun (que criou o Java) e uma das mais utilizadas pelas empresas de desenvolvimento no mundo: o NetBeans, na sua verso 5.5.1. Entre os vrios recursos que a IDE possui, podemos citar como principais a interface construtora, o editor de texto, o editor de cdigo, o compilador, o interpretador e o depurador. Alm disso, a IDE possui muitas outras funcionalidades e wizards que auxiliam voc a dar mais produtividade a seu trabalho e a reduzir a quantidade de erros. Para utilizar o NetBeans, execute os seguintes passos: Passo 1: Inicie o NetBeans clicando no cone de atalho NetBeans  5.5.1 que se encontra na rea de trabalho do computador e espere a abertura de sua interface grfica.

Figura 1.9: Tela inicial do NetBeans.


Fonte: NetBeans.

CEC I E R J E X T E N S O E M G O V E R N A N A

35

AULA

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

Passo 2: Feito isso, vamos construir nosso primeiro projeto, j que  todo programa Java numa IDE deve estar associado a um projeto, atravs da sequncia Arquivo => Novo Projeto, e na caixa de dilogo que se abrir escolha na janela Categoria a opo Geral e na janela Projetos a opo Aplicao Java.

Fonte: NetBeans.

Figura 1.10: Criando um projeto no NetBeans.

P asso 3 : Clique no boto  Prximo e na caixa de dilogo seguinte preencha o Nome do Projeto com Meu Projeto Java e ao lado da checkbox Criar Classe Principal defina seu nome como Hello e clique no boto Finalizar.

Figura 1.11: Criando um projeto no NetBeans.


Fonte: NetBeans.

36

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

foram inseridas durante a criao do projeto. Complete esse cdigo com o texto do programa feito no Bloco de Notas.

Figura 1.12: Criando uma classe no NetBeans.


Fonte: NetBeans.

Ao mandar executar um programa, a IDE automaticamente compila e interpreta o cdigo, mostrando o resultado dos comandos, caso seja uma aplicao via console (que ser o nosso caso, por enquanto), na janela abaixo do cdigo.

CEC I E R J E X T E N S O E M G O V E R N A N A

37

AULA

todo programa Java completado com algumas informaes que

Passo 4: Na janela que se abre, a IDE insere um cdigo bsico de 

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

Passo 5: Para executar o cdigo, devemos selecionar o programa  que desejamos executar na janela do lado esquerdo superior, janela Projetos, e clicar com o boto direito do mouse selecionando a opo Executar Arquivo.

Fonte: NetBeans.

Figura 1.13: Executando uma classe no NetBeans.

Figura 1.14: Executando uma classe no NetBeans.


Fonte: NetBeans.

38

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

Agora vai ficar mais legal! Siga os passos mencionados e veja seu primeiro programa em Java agora executado no NetBeans!

INFORMAES SOBRE FRUM Nesta primeira semana de aula, vamos entrar no frum para nos conhecermos; vamos falar sobre a experincia de cada um e o que esperamos do curso.

r es u mo
Vamos rever os principais conceitos vistos nesta aula.  Histrico da tecnologia Java: o Java nasceu na empresa americana Sun Microsystems na dcada de 1990 com o intuito de ser utilizado em dispositivos eletrodomsticos. O projeto inicialmente no foi um sucesso, mas, com o advento da internet, a Sun viu uma oportunidade de utilizar essa tecnologia principalmente pela caracterstica de poder ser utilizada em plataformas heterogneas.  Alm de ser uma das mais completas, modernas e utilizadas linguagens de programao, o Java tambm d suporte a um completo ambiente de desenvolvimento, por meio de suas ferramentas integradas, alm de ser um ambiente de aplicao completo, com todas suas funcionalidades implementadas na Mquina Virtual Java (JVM).  O Java possui trs plataformas bsicas de desenvolvimento, de acordo com o projeto do sistema a ser implementado. A plataforma bsica para todos os tipos de sistemas o JSE (Java Standard Edition), que possui as bibliotecas bsicas para o desenvolvimento em Java. Para desenvolvimento corporativo, distribudo e/ou web preciso utilizar a plataforma JEE (Java Enterprise Edition), que d suporte aos sistemas desenvolvidos

CEC I E R J E X T E N S O E M G O V E R N A N A

39

AULA

Atividade prtica 4

Java Bsico e Orientao a Objeto

|I ntroduo ao Java

para esses tipos de ambiente mais complexos. Por ltimo, temos uma plataforma especial chamada JME (Java Micro Edition), que serve para o desenvolvimento de sistemas para dispositivos mveis e embarcados, como celulares, televises e outros dispositivos com menor poder de processamento e memria.  Todo programa em Java deve ser compilado pelo compilador javac, gerando assim o bytecode, para depois ser interpretado pela mquina virtual; esta implementada de acordo com cada sistema operacional, garantindo a portabilidade de sistemas do bytecode.  P ara melhorar a produtividade do desenvolvimento e ganhar em integrao e controle da programao, principalmente para sistemas complexos e grandes equipes, podemos utilizar ferramentas que auxiliam nessas tarefas; essas ferramentas so as chamadas IDEs ( integrated development environment).

Informao sobre a prxima aula


Na prxima aula, voc ir estudar um pouco mais sobre a estrutura dos programas em Java e os tipos de dados suportados pela linguagem. At l.

40

Governana: Gesto, Auditoria e Tecnologia da Informao e Comunicao

Das könnte Ihnen auch gefallen