




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Programação Java para iniciantes, intermediários e avançado
Tipologia: Esquemas
1 / 662
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Há três anos, a palavra "java" evocava imagens de uma ilha da Indonésia ou de uma xícara de café quente. Atualmente, qualquer um que já tenha dado uma olhada em uma página da World Wide Web, revista de informática ou na seção de negócios de um jornal, sabe da existência de outra espécie de Java — a linguagem de programação introduzida pela Sun Microsystems. Existem filmes bombásticos, atletas em orgias criminosas e políticos malcomportados que recebem menos propaganda e atenção da mídia do que a linguagem Java. Esta linguagem está se tornando mais conhecida como uma ferramenta de desenvolvimento de software do que como a fatídica ilha vul- cânica. Um tipo de Java mantém os programadores acordados à noite. O outro permite que eles descansem após desenvolver software. A linguagem de programação Java se tornou proeminente no final de 1995, depois que a Netscape a licenciou para uso no navegador Navigator. Atualmente, existem várias opções para a inserção de programas interativos na Web, incluindo Macromedia Shokwave e Microsoft ActiveX. Quando a lin- guagem Java foi introduzida, ela revolucionou a natureza das páginas da Web. Os applets Java — pequenos programas que são executados dentro do navegador, como parte de uma página — são usados para vários objetivos: jogos, multimídia, animação e outros efeitos especiais. De acordo com o mecanismo de pesquisa Alta Vista, mais de um milhão de páginas na World Wide Web incluem applets Java. Com o lançamento da versão 2, a linguagem Java ampliou seu alcance para além da World Wide Web. A linguagem, que é tão popular na Internet, também pode ser usada para o desenvolvimento de software de propósitos gerais. Talvez você esteja familiarizado com as ferramentas de programação Java, como Symantec Visual Café e SunSoft Java Workshop. Esses programas tornam possível desenvolver programas Java funcionais, mas a melhor maneira de compreender a abrangência total da linguagem é trabalhando diretamente com ela no Java Development Kit, da Sun. O kit, que está disponível gratui- tamente na Web, no endereço http://java.sun.com, é um conjunto de ferra- mentas de linha de comando para escrever, compilar e testar programas em Java. E aí que se enquadra este livro. Você conhecerá todos os aspectos do desenvolvimento de software Java usando a versão mais atual da linguagem e as melhores técnicas disponíveis. Quando terminar, você conhecerá muito bem as razões pelas quais a linguagem Java se tornou a linguagem de programação mais comentada da última década e por que ela pode ser a mais popular da próxima.
Este livro aborda a linguagem Java e suas bibliotecas de classe em 21 dias, organizados em três semanas separadas. Cada semana aborda uma área dife- rente do desenvolvimento de applets e aplicativos Java. Na primeira semana, você aprenderá sobre a linguagem Java em si:
APRENDA EM 21 DIAS JAVA 2
livro, você saberá o suficiente sobre Java e sobre suas bibliotecas de classe para fazer praticamente qualquer coisa — dentro ou fora de um applet.
Este livro ensina a linguagem Java para três grupos:
Quem deve ler este livro
4^ APRENDA EM 21^ DIAS JAVA 2
abordá-la lentamente e trabalhar nos exemplos, ainda poderá escolhê-la e começar a criar seus próprios applets Java.
5
Este livro se destina a ser lido e absorvido durante o decorrer de três semanas. Durante cada semana, você lê sete capítulos que apresentam conceitos re- lacionados à linguagem Java e à criação de applets e aplicativos.
Como este livro está oraanizado
Convenções
As notas apresentam informações técnicas interessantes.
As dicas mostram formas práticas de fazer algo.
Os novos termos são acompanhados por caixas Novo termo, com o novo termo em itálico.
Um ícone Digite identifica algum código Java novo que você mesmo pode digitar. Você também pode obter o código a partir do site da Web referente ao livro.
Um ícone Entrada acompanha prompts de comando.
Um ícone Saída mostra a saída de um programa Java.
O texto que você digita e o texto que deve aparecer em sua tela são apresentados em tipo monoespaçado: Ele ficará assim O texto que você digitar também aparecerá em negrito. Essa fonte imita o modo como o texto ficará em sua tela. Os locais reservados para variáveis e expressões aparecerão em tipo itálico monoespaçado. O final de cada capítulo oferece perguntas normalmente feitas a respeito do assunto do dia, com respostas dos autores.
Nota
Dica
Cuidado
NOVO TERMO
APRENDA EM 21 DIAS JAVA 2
DIA 1: INTRODUÇÃO AO JAVA (^) 11
Com base na imensa propaganda sobre Java nos últimos anos e pelo número enorme de livros sobre esta linguagem (1.054, segundo os cálculos da java- World), você poderia ter uma impressão deturpada do que a linguagem é capaz de fazer. Java é uma linguagem de programação muito conveniente para o desen- volvimento de software que funcione em conjunto com a Internet. Ela também é uma linguagem de programação orientada a objetos que utiliza uma meto- dologia que está se tornando cada vez mais útil no mundo do design de software. Além disso, ela é uma linguagem multiplataforma, o que significa que seus programas podem ser criados para executar do mesmo modo no Microsoft Windows, Apple Macintosh e na maioria das versões de UNIX, incluindo a Solaris. A linguagem Java vai além da área de trabalho, sendo executada em dispositivos como televisões, relógios de pulso e telefones celulares. O Java- Station, o computador de rede da Sun, executa o sistema operacional JavaOS e é otimizado para a linguagem. A linguagem Java está mais próxima das linguagens de programação populares, como C, C + +, Visual Basic e Delphi, do que de uma linguagem de descrição de página, como a HTML, ou de uma simples linguagem de scripts, como a JavaScript.
1
Nascida para execução... na Web
A linguagem Java é mais conhecida por sua capacidade de executar em páginas da World Wide Web. Os navegadores Netscape Navigator e Microsoft Internet Explorer podem carregar por download um programa Java a partir de uma página da Web e executá-lo localmente no sistema de um usuário. Esses programas, que são chamados de applets, aparecem em uma página da Web de maneira semelhante às imagens. Ao contrário das imagens, os applets podem ser interativos — pegando a entrada do usuário, respondendo a ela e apresentando conteúdo mutante. Os applets podem ser usados para criar animação, figuras, jogos, for- mulários que respondem imediatamente à entrada do leitor ou outros efeitos interativos nas mesmas páginas da Web, entre o texto e as imagens. A Figura 1.1 mostra um applet em execução no Netscape Navigator 4.04. A linguagem Java permite que uma pessoa jogue contra três oponentes do computador em um jogo de dominó.
1
Embora os applets provavelmente sejam o uso mais popular de Java, eles representam apenas uma maneira pela qual a linguagem pode ser usada. Assim como o Visual C + + , Visual Basic e Delphi, a linguagem Java é robusta, podendo ser usada para o desenvolvimento de uma ampla variedade de soft- ware, oferecendo suporte a interfaces gráficas com o usuário, interligação em rede, conectividade de banco de dados e outras funcionalidades sofisticadas. Para diferenciar dos applets, os programas em Java que não são executados dentro de um navegador da Web são denominados aplicativos.
A linguagem Java foi desenvolvida na Sun Microsystems, em 1991, como parte do projeto Green, um grupo de pesquisas que estava trabalhando para desen- volver software a fim de controlar dispositivos eletrônicos para o consumidor. Os pesquisadores esperavam desenvolver a linguagem de programação que pudesse fazer funcionar os utensílios domésticos inteligentes do futuro — TVs interativas, torradeiras interativas, iluminação de caminho interativa (percebe um tema aqui?). Os pesquisadores da Sun também queriam que esses disposi- tivos se comunicassem entre si, de modo que o cortador de grama pudesse dizer ao liqüidificador para informar-lhe de que as vizinhas voltaram da escola e estavam tomando banho de sol de novo. Para colocar sua pesquisa em ação, os pesquisadores da Green desen- volveram um protótipo de dispositivo chamado Star7, um aparelho parecido com um controle remoto que podia se comunicar com outros de mesma espécie. A idéia original era desenvolver o sistema operacional Star7 em C+ +, a linguagem de programação orientada a objetos extremamente popular, desenvolvida por Bjarne Stroustrup. Entretanto, o membro do projeto Green, James Gosling, aborreceu-se com a maneira como a linguagem C + + estava desempenhando a tarefa. Assim, ele se trancou em seu escritório e escreveu uma nova linguagem para manipular melhor o Star7. A linguagem foi denominada Oak, em homena- gem a uma árvore que Gosling podia ver pela janela de seu escritório.
Posteriormente, a Sun descobriu que o nome Oak já estava sendo usado, mas não utilizou o método de "olhar pela janela" de Gosling, quando atribuiu outro nome à linguagem. Se tivesse feito isso, você poderia estar acrescentando um dos seguintes nomes de linguagem em seu currículo de 21 dias:
Nota
Como foi projetada tendo-se em vista utensílios domésticos e não os mais modernos PCs, a linguagem Java tinha de ser pequena, eficiente e facilmente portável para uma ampla gama de dispositivos de hardware. Ela também tinha de ser confiável. As pessoas aprenderam a conviver com falhas ou defeitos de sistema ocasionais em um aplicativo de software que ocupava até 5 MB de espaço em disco. Não é tão fácil aceitar uma torradeira malprogramada, com um desagradável hábito de queimar o pão. Embora a linguagem Java não tenha funcionado originalmente como uma ferramenta de desenvolvimento de utensílios domésticos e TV interativa, as coisas que a tornaram boa para o Star7 se revelaram boas para a World Wide Web:
A Sun lançou três versões mais importantes da linguagem Java:
Versões da linguagem
KPCB (Kleiner, Perkins, Caufield and Byers) ofereceu 100 milhões de dólares para apoiar a abertura de empresas que realizassem trabalhos relacionados à linguagem Java. Entretanto, os aprimoramentos incluídos na versão 2 da Java indicam seu futuro como uma sofisticada linguagem de propósito geral. As primeiras versões da linguagem Java eram mais adequadas a pequenos programas de software baseados na Web, em vez de a aplicativos completos, como software de colaboração em grupo, conjuntos de produtividade e jogos para vários participantes interligados em rede. Isso não pode mais ser dito da linguagem Java versão 2. Alguns dos recursos avançados introduzidos na versão atual incluem os seguintes:
Era muito fácil descobrir por que as pessoas estavam escolhendo um livro deste tipo. A maioria dos leitores queria usar Java para criar applets. Hoje em dia, isso não é tão claro. Cada nova versão de Java introduz recursos que a estendem para além de suas raízes como uma interessante tecnologia da Web. Entretanto, as vantagens da linguagem Java continuam sendo sua na- tureza independente de plataforma e orientada a objetos, assim como sua facilidade de aprendizado.
A independência de plataforma — a capacidade de o mesmo programa ser executado em diferentes plataformas e sistemas operacionais — é uma das vantagens mais significativas que a linguagem Java possui sobre as outras linguagens de programação. Quando você compila um programa escrito em C ou na maioria das outras linguagens, o compilador transforma seu arquivo-fonte em código de máquina — instruções específicas para o processador que seu computador está execu- tando. Se você compilar seu código em um sistema baseado em Intel, o
Por que você está aqui?
A linauaaem Java é independente de plataforma
programa resultante será executado em outros sistemas baseados em Intel, mas não funcionará em computadores Macintosh, Commodore VIC-20 ou outras máquinas. Se você quiser usar o mesmo programa em outras plataformas, deve transferir seu código-fonte para a nova plataforma e recompilá-lo para produzir o código de máquina específico para esse sistema. Em muitos casos, serão exigidas alterações no código-fonte antes que ele seja compilado na nova máquina, devido a diferenças em seus processadores e outros fatores. A Figura 1.2 mostra o resultado de um sistema dependente de plataforma: vários programas executáveis devem ser produzidos para os vários sistemas.
Figura 1. Programas tradicionais compilados
Os programas Java atingem essa independência através da utilização de uma máquina virtual — uma espécie de computador dentro de outro. A máquina virtual pega os programas Java compilados e converte suas instruções em comandos que um sistema operacional possa manipular. O mesmo pro- grama compilado, que existe em um formato chamado bytecode, pode ser executado em qualquer plataforma e sistema operacional que possua uma máquina virtual Java.
Bytecode é a versão da máquina virtual Java do código de máquina, as instruções que ela entende diretamente.
A máquina virtual também é conhecida como interpretador Java ou runtime Java. Se você estiver com dificuldade de entender o papel da máquina virtual, imagine o dispositivo que, na série Jornada nas Estrelas original, converte o idioma inglês (português, para nós) em qualquer idioma que os alienígenas estejam falando para a tripulação da nave espacial Enterprise. O capitão James T. Kirk não precisa aprender um novo idioma cada vez que desembarca em um planeta, pois o tradutor universal transforma suas palavras em algo que os
Seu Código
Arquivo Binário (Pentium)
Arquivo Binário (PowerPC)
Compilador (Pentium)
Compilador (PowerPC) Arquivo Binário(SPARC)
Compilador (SPARC)
A máquina virtual Java pode ser encontrada em vários lugares. Para applets, a máquina virtual é incorporada em um navegador compatível com Java ou instalada separadamente para uso do navegador. Os programadores de applet não precisam se preocupar se ela existe no sistema de um usuário.
1
Entretanto, deve ser tomado um certo cuidado. Você precisa se preocupar com a máquina virtual Java suportada pelo navegador. Se você criar um applet que usa novos recursos da linguagem Java 2, seu bytecode não funcionará nos navegadores que contêm apenas a máquina virtual Java 1.0. O Java Plug-in, um aprimoramento de navegador que está sendo desenvolvido pela Sun, permite que os projetistas especifiquem uma máquina virtual diferente daquela in- cluída com o Netscape Navigatorou com o Microsoft Internet Explorer. Isso permite que os applets Java 1.1 e 2 funcionem, desde que sua correspondente máquina virtual seja especificada. Os detalhes sobre o Java Plug-in estão disponíveis na seguinte página da Web:
http://java.sun.com/products/plugin/
Por outro lado, os aplicativos Java só podem ser executados em um sistema onde a correspondente máquina virtual Java tenha sido instalada. Se você desejar executar aplicativos Java 2 em seu sistema de área de trabalho, primeiramente deverá instalar a máquina virtual. Se estiver acostumado com o modo como as linguagens como Visual Basic e Delphi criam código específico de plataforma, você poderá pensar que o interpretador de bytecode acrescenta uma camada desnecessária entre seu código-fonte e o código de máquina compilado. Isso pode causar alguns problemas de desempenho — os programas Java executam mais lentamente do que as linguagens compiladas dependentes de plataforma, como C, e a diferença de velocidade é a principal deficiência do Java. Algumas de suas ferramentas de desenvolvimento incluem compiladores "just-in-time" que podem executar o bytecode Java com maior velocidade. A capacidade de um único arquivo de bytecode ser executado em várias plataformas é fundamental para o que faz a linguagem Java funcionar na World Wide Web, pois a própria Web é independente de plataforma. Assim como os arquivos HTML podem ser lidos em qualquer plataforma, os applets podem ser executados em qualquer plataforma com um navegador compatível com Java. Para muitos programas básicos em Java, a velocidade pode não ser problema. Se você escrever programas que exijam maior velocidade de execução do que a que a máquina virtual pode fornecer, existem soluções disponíveis:
Cuidado
APRENDA EM 21 DIAS JAVA 2
Se você ainda não está familiarizado com a programação orientada a objetos, terá muitas chances de se tornar durante os próximos seis dias. A programação orientada a objetos — também chamada OOP — é um modo de conceitualizar um programa de computador como um conjunto de objetos que se interagem. Para alguns, ela é apenas um modo de organizar programas e qualquer linguagem pode ser usada para criar programas orien- tados a objetos. Entretanto, você obtém as maiores vantagens da programação orientada a objetos quando utiliza uma linguagem criada para ela. Java herda grande parte de seus conceitos de OOP do C + +, a linguagem em que está fortemente baseada. A linguagem Java também empresta conceitos de outras linguagens orientadas a objetos. Você aprenderá mais sobre a programação orientada a objetos e Java no Dia 2.
Além de sua portabilidade e orientação a objetos, a linguagem Java é menor e mais simples do que as linguagens comparáveis. Isso deriva do objetivo original da linguagem Java ser algo que exija menos poder de computação para ser executado — ninguém vai gastar 3.000 dólares em um computador Pentium II com tecnologia MMX. A linguagem Java pretendia ser mais fácil de escrever, compilar, depurar e aprender. A linguagem foi modelada fortemente de acordo com o C + + e grande parte da sintaxe e da estrutura orientada a objetos é proveniente diretamente dessa linguagem. Se você é programador de C + +, poderá apren- der Java muito mais rapidamente e provavelmente examinar de forma superfi- cial parte do material da primeira semana deste livro. A despeito das semelhanças da linguagem Java com o C + +, os aspectos mais complexos e propensos a erros desta foram excluídos. Você não vai encontrar ponteiros ou aritmética de ponteiro na linguagem Java, pois esses recursos são facilmente confundidos em um programa e até mais difíceis de corrigir. Stnngs e arrays são objetos em Java, e o gerenciamento de memória é feito automaticamente, em vez de exigir que o programador controle isso. Os programadores experientes poderão sentir falta desses recursos, quando
A linguagem Java é fácil de aprender
A linguagem Java é orientada a obietos