Académique Documents
Professionnel Documents
Culture Documents
Meta da aula
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
|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.
Fonte: http://cnettv.cnet.com/2001-1_53-27469.html
22
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
|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
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
|I ntroduo ao Java
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 Language java Security javac Int'l javadoc RMI apt IDL jar Deploy javap
Monitoring
JPDA
Trobleshooting
Other JVM TI
Deployment AWT
Accessibility
Platforms
26
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
|I ntroduo ao Java
28
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
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
Aps o programa Java ter sido criado e salvo, voc deve compil-
|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:
Seja rigoroso em todos os smbolos utilizados, principalmente no que se refere a letras maisculas e minsculas, pois fazem diferena no Java.
30
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
|I ntroduo ao Java
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:
32
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.
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
|I ntroduo ao Java
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
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.
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
|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.
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.
36
foram inseridas durante a criao do projeto. Complete esse cdigo com o texto do programa feito no Bloco de Notas.
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
|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.
38
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
|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).
40