Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila de programação java completa, Esquemas de Programação para Java

Programação Java para iniciantes, intermediários e avançado

Tipologia: Esquemas

2019

Compartilhado em 16/10/2019

vinicio.ferreira
vinicio.ferreira 🇧🇷

5

(3)

2 documentos

1 / 662

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Introdução
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 queo executados dentro do
navegador, como parte de uma páginao 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 é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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf24
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4c
pf4d
pf4e
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Apostila de programação java completa e outras Esquemas em PDF para Programação para Java, somente na Docsity!

Introdução

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:

  • O Dia 1 é a introdução básica: o que é Java, por que ela é legal e como obter o software necessário para se criar programas Java. Você também criará seu primeiro aplicativo Java.
  • No Dia 2, você explorará os conceitos básicos da programação orien- tada a objetos, à medida que eles se aplicarem à linguagem Java.
  • No Dia 3, você começará a entrar nos detalhes com os blocos básicos de construção da linguagem Java — tipos de dados, variáveis e ex- pressões, como aritmética e comparações.
  • O Dia 4 entrará em detalhes de como tratar objetos na linguagem Java — como criá-los, como acessar suas variáveis e chamar seus métodos, e como compará-los e copiá-los. Você também verá pela primeira vez as bibliotecas de classe Java.
  • No Dia 5, você aprenderá mais sobre Java com arrays, instruções condicionais e loops.
  • O Dia 6 explorará integralmente a criação de classes — os blocos de construção básicos de qualquer programa Java — e como criar um aplicativo Java (um programa que pode ser executado sozinho, sem um navegador da Web).
  • O Dia 7 complementará o que você aprendeu no Dia 6. Você aprenderá mais a respeito de como criar e utilizar métodos, incluindo anulação e sobrecarga de métodos e a criação de construtores. A semana 2 é dedicada principalmente aos applets e às técnicas de programação gráfica, como animação e tratamento de imagens:
  • O Dia 8 fornecerá os fundamentos dos applets — como eles diferem dos aplicativos, como criá-los e sobre as partes mais importantes do ciclo de vida de um applet. Você também aprenderá a criar páginas HTML que contenham applets Java.
  • No Dia 9, você aprenderá sobre as classes Java para desenhar figuras e caracteres na tela — incluindo a cobertura das novas classes Java2D, introduzidas na versão 2 da linguagem Java.
  • No Dia 10, você criará programas multimídia que utilizam imagens, som e seqüências de animação. Você também terá sua primeira ex- periência com multithread — um modo de fazer seus programas tratarem de várias tarefas simultaneamente.

APRENDA EM 21 DIAS JAVA 2

Como este livro está organizado

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:

  • Pessoas iniciantes, relativamente novatos na programação
  • Pessoas que já conhecem Java 1.1 ou 1.
  • Projetistas experientes em outras linguagens, como Visual C + + , Visual Basic ou Delphi Você aprenderá a desenvolver applets; também aprenderá sobre os pro- gramas Java interativos que são executados como parte de uma página da World Wide Web e aplicativos, que são executados em qualquer parte. Quando você concluir este livro, poderá lidar com qualquer aspecto da linguagem e se sentirá suficientemente à vontade com Java para entrar em seus próprios projetos de programação ambiciosos — na Web ou fora dela. Se você ainda é razoavelmente iniciante em programação ou se nunca escreveu um programa, pode estar se perguntando se este é o livro correto para ler. Como todos os conceitos deste livro são ilustrados com programas que funcionam, você poderá trabalhar no assunto independentemente de seu nível de experiência. Se você entende o que são variáveis, loops e funções, poderá tirar proveito deste livro. O tipo de pessoa que poderá querer ler este livro inclui você, se uma das características a seguir for verdadeira:
  • Você é um ás em HTML, entende programação de CGI em Perl, Visual Basic ou alguma outra linguagem e quer passar para o próximo nível de design de página.
  • Você teve noções de BASIC ou Pascal na escola, tem uma idéia do que é programação e já ouviu falar que Java é fácil de aprender, é poderosa e legal.
  • Você já programou em C e C + + durante alguns anos, ouviu falar bem de Java e quer comprovar o fato.
  • Você ouviu falar que Java é excelente para programação da Web e quer ver como é seu desempenho quando da sua utilização para outro desenvolvimento de software. Se você nunca viu a programação orientada a objetos, o estilo de progra- mação incorporado pela linguagem Java, não precisa se preocupar. Este livro não pressupõe nenhum conhecimento de design orientado a objetos e você tem a chance de aprender essa importante estratégia de desenvolvimento, enquanto estiver aprendendo Java. Se você é completamente iniciante, o livro poderá ir um pouco mais rápido do que seu ritmo. Contudo, a linguagem Java é boa para se começar e se você

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.

  • Estes quadros advertem o leitor de problemas em potencial e ajudam- no a evitar problemas.

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

DIGITE

ENTRADA

SAÍDA

SEMANA 1

Iniciando a programação Java

1 Introdução ao Java

2 Uma amostra da programação orientada

a objetos

3 Fundamentos do Java

4 Lições sobre objetos

5 Listas, lógica e loops

6 Criando classes

7 Usando métodos para realizar tarefas

  • "A linguagem Java acaba com a hegemonia dos sistemas operacionais da Microsoft!"
  • "A linguagem Java transforma os autores de livros em celebridades queridas internacionalmente!" Algo semelhante ocorre com a lenda dos pistoleiros cinematográficos de Clint:
  • "Ele come balas de revólver no café da manhã!"
  • "Ele bate tanto que seu avô teve uma contusão!"
  • "Ele consegue matar um homem num piscar de olhos!" Entretanto, nos últimos três anos a linguagem Java cumpriu grande parte do que se esperava dela inicialmente. A versão de Java 2 atesta o contínuo sucesso e crescimento da linguagem de programação. A partir de hoje, você aprenderá sobre a linguagem Java e por que ela obteve sucesso rapidamente no setor da computação. Você usará Java 2 — a versão mais atual quando da redação deste livro — para criar aplicativos que podem ser executados em seu computador pessoal e através de uma rede como a Internet. Você também criará programas que são executados em páginas da Web usando Java 1.0.2, a versão que primeiro se tornou popular e ainda é suportada pelo maior número de navegadores. Quando você chegar ao final deste livro, provavelmente perceberá o outro modo pelo qual a linguagem Java é como Clint Eastwood... Java é legal. Não no sentido "acabei de sair do banho e onde, diabos, está minha toalha" ou "Jonathan Taylor Thomas é tão rico e nem mesmo sabe disso" ou ainda "sou uma estrela do rap e posso resmungar 75 adjetivos depreciativos sobre as mulheres em um minuto". Java é legal porque se trata de uma linguagem extraordinária que torna mais fácil para muitos programadores realizarem coisas fantásticas. Java é legal porque torna conceitos complicados, como a programação orientada a objetos, muito mais fáceis de entender. Assim como a palavra "salsa", Java é legal porque é divertido pronunciar em alto e bom som. A pronúncia é muito mais agradável do que exclamar "Visual Basic", "C plus plus", "Algol" ou "Mumps". Se você estudar os 21 dias deste livro, irá se tornar um especialista na totalidade dos recursos da linguagem Java, incluindo imagens gráficas, entrada e saída de arquivos, design de interface com o usuário, tratamento de eventos e animação. Você vai escrever programas que podem ser executados em páginas da Web e outros que podem ser executados em seu PC. Os objetivos de hoje são razoavelmente modestos. Você aprenderá sobre os seguintes tópicos:
  • O que Java é atualmente e como chegou lá.

APRENDA EM 21 DIAS JAVA 2

DIA 1: INTRODUÇÃO AO JAVA (^) 11

  • Por que vale a pena aprender Java e por que é uma forte concorrente das outras linguagens de programação.
  • O que você precisa para começar a escrever programas Java — o software, as habilidades e alguma terminologia básica.
  • Como criar seu primeiro programa Java.

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ó.

DIA 1: INTRODUÇÃO AO JAVA 13

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 biografia não-autorizado

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:

  • Arbustos
  • PrédioDeEscritóriosDaPortaAoLado
  • PosteDeLuz
  • LavadorDeJanelas
  • SecretáriaSaindoParaAImoçar
  • SegurançaEstranho
  • CaraGordoCortandoGrama

Nota

14 A P R E N D A EM 21 DIAS JAVA 2

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 linguagem Java é pequena — faz os programas de uma página serem carregados por download mais rapidamente.
  • A linguagem Java é segura — impede que hackers escrevam programas que danifiquem os sistemas dos usuários de navegador.
  • A linguagem Java é portável — permite execução no Windows, Macin- tosh e outras plataformas sem modificação. Além disso, a linguagem Java poderia ser usada como uma linguagem de programação de uso geral, para o desenvolvimento de software que pode ser executado em diferentes plataformas. Para demonstrar o potencial da linguagem Java e evitar que seu projeto de pesquisa fosse engavetado, foi criado, em 1994, um navegador da Web que podia executar applets Java. O navegador demonstrou duas coisas a respeito da linguagem Java: o que ela oferecia para a World Wide Web e o tipo de programa que poderia criar. Os programadores Patrick Naughton e Jonathan Payne usaram Java para criar o navegador, originalmente denominado Web- Runner, mas rebatizado como HotJava. Embora a linguagem Java e o navegador Hotjava tenham recebido muita atenção na comunidade da Web, a linguagem realmente decolou depois que a Netscape se tornou a primeira empresa a licenciá-la, em agosto de 1995. O executivo e jovem milionário da Netscape Marc Andreesen foi uma das primeiras pessoas de fora da Sun a perceber o apelo da linguagem Java e deu-lhe o maior apoio na conferência JavaOne, em maio de 1996. "A linguagem Java representa uma tremenda oportunidade para todos nós", disse ele aos participantes. Logo após o primeiro lançamento público da linguagem, a Sun ampliou os esforços para o desenvolvimento da Java com uma nova subsidiária, chamada JavaSoft, e contratou centenas de funcionários para continuar a expandir a linguagem.

A Sun lançou três versões mais importantes da linguagem Java:

  • Java 1.0.2 — ainda a mais amplamente suportada pelos navegadores da Web.

Versões da linguagem

16 APRENDA EM 21^ DIAS JAVA 2

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:

  • Swing — Novos recursos para a criação de uma interface gráfica com o usuário, no estilo de um sistema operacional específico ou em novos "aparência e comportamento", denominado Metal.
  • Arrastar e soltar — A capacidade de transferir informações interati- vamente entre diferentes aplicativos e de uma parte para outra da interface de um programa.
  • Completa revisão dos recursos de áudio da linguagem Java, tornando- os mais de acordo com os recursos sonoros de outras linguagens. Você terá a chance de trabalhar com esses e outros novos recursos nas próximas três semanas.

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

DIA 1: INTRODUÇÃO AO JAVA 17

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.

NOVO

TERMO

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)

DIA 1: INTRODUÇÃO AO JAVA 19

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:

  • Usar chamadas para código de máquina específico do sistema em seu programa Java, o que o torna dependente de plataforma.

Cuidado

APRENDA EM 21 DIAS JAVA 2

  • Usar compiladores just-in-time, que convertem os bytecodes Java em código específico do sistema. Usando uma dessas soluções, você ganhará velocidade em detrimento da portabilidade da linguagem Java. Um aplicativo Java que use chamadas do Windows para seu acesso a disco não funcionaria em um computador Macin- tosh sem modificação.

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