JAVA - Introdução (eBook)

Page 1


JAVA I N T R O D U ÇÃ O

Pedro Coelho

FCA – Editora de Informática, Lda www.fca.pt


EDIÇÃO FCA – Editora de Informática, Lda. www.fca.pt Copyright © 2016, FCA – Editora de Informática, Lda. ISBN eBook: 978-972-722-831-7 1.ª edição eBook: março 2016 Capa: Lookhead O conteúdo deste ebook é parte integrante do livro Programação em JAVA (5.ª Edição Atualizada) Todos os nossos livros passam por um rigoroso controlo de qualidade, no entanto aconselhamos a consulta periódica do nosso site (www.fca.pt) para fazer o download de eventuais correções. Não nos responsabilizamos por desatualizações das hiperligações presentes nesta obra, que foram verificadas à data de publicação da mesma. Os nomes comerciais referenciados neste livro têm patente registada. Reservados todos os direitos. Esta publicação não pode ser reproduzida, nem transmitida, no todo ou em parte, por qualquer processo eletrónico, mecânico, fotocópia, digitalização, gravação, sistema de armazenamento e disponibilização de informação, sítio Web, blogue ou outros, sem prévia autorização escrita da Editora.


ÍNDICE GERAL O AUTOR .......................................................................................................... V DEDICATÓRIA ...........................................................................................VI 1. O PRIMEIRO PROGRAMA .................................................................................... 1 1.1 Introdução ........................................................................................................................................... 1 1.2 Kit de Desenvolvimento Java ............................................................................................................ 2 1.3 Construir e Testar um programa ...................................................................................................... 3 2. INTRODUÇÃO HISTÓRICA ................................................................................. 14 2.1 Introdução ......................................................................................................................................... 14 2.2 O Java e a Internet ............................................................................................................................ 14 2.3 WWW e Java ..................................................................................................................................... 16 3. POTENCIALIDADES DO JAVA .............................................................................. 22 3.1 Applets: Animação em Páginas WWW ........................................................................................... 22 3.2 Construção de aplicações ................................................................................................................. 27 3.3 Aplicações Móveis e de Televisão .................................................................................................. 30 3.4 O Futuro do Java ............................................................................................................................... 32 4. INTRODUÇÃO AO JAVA ..................................................................................... 34 4.1 Programação Orientada a Objetos .................................................................................................. 34 4.2 Conceitos do Java.............................................................................................................................. 36 5. SINTAXE JAVA ............................................................................................... 41 5.1 Expressões ......................................................................................................................................... 41 5.2 Tipos de dados .................................................................................................................................. 42 5.3 Variáveis ............................................................................................................................................ 44 5.4 Aritmética .......................................................................................................................................... 48 5.5 Operações lógicas, comparações, condicionais e outras .............................................................. 49 5.6 Arrays.................................................................................................................................................. 57 5.7 Controlo de fluxo e ciclos ................................................................................................................ 60 5.7.1 Expressões Condicionais ........................................................................................................ 61 5.7.1.1Expressões if ... else ....................................................................................................... 61 5.7.1.2 Expressões ?: ................................................................................................................ 62 5.7.1.3 Expressões Switch ........................................................................................................ 62 5.7.2 Ciclos ........................................................................................................................................ 64 5.7.2.1 Ciclo while ..................................................................................................................... 65 5.7.2.2 Ciclo do ... while ............................................................................................................ 66 5.7.2.3 Ciclo for ......................................................................................................................... 67 5.7.2.4 Break, Continue e Labels ................................................................................................ 68 5.8 Exemplos............................................................................................................................................ 70 Exemplo 5.1 ................................................................................................................................................ 70 Exemplo 5.2 ................................................................................................................................................ 71 Exemplo 5.3 ................................................................................................................................................ 72

6 OBJETOS, CLASSES E MÉTODOS ........................................................................... 76


6.1 Conceitos ............................................................................................................................................ 76 6.2 Criação de Classes ............................................................................................................................ 76 6.3 Utilizando Objetos ............................................................................................................................ 79 6.3.1 Acesso às variáveis .................................................................................................................. 79 6.3.2 Objetos e Métodos ................................................................................................................... 80 6.3.3 Exemplo .................................................................................................................................... 80 6.4 Métodos ............................................................................................................................................. 82 6.4.1 Tipos de Métodos .................................................................................................................... 83 6.4.2 Questões de Sintaxe ................................................................................................................ 83 6.4.2.1 “This” ............................................................................................................................ 89 6.4.2.2 Construtores ................................................................................................................. 89 6.4.2.3 Finalizadores ................................................................................................................ 90 6.4.2.4 Mecanismo de Reescrita (Override) .......................................................................... 91 6.4.2.5 Exceções ........................................................................................................................ 93 6.5 Interfaces ............................................................................................................................................ 96 6.6 Packages .............................................................................................................................................. 97 6.6.1 Bibliotecas de Classes .............................................................................................................. 98 6.7 Criação de Aplicações Java .............................................................................................................. 99 ANEXO A – REFERÊNCIAS ONLINE E LISTA DE CLASSES ............................................. 105 A.1 Referências Online ........................................................................................................................ 105 A.2 Lista de Classes ............................................................................................................................. 106 GLOSSÁRIO DE TERMOS – PORTUGUÊS EUROPEU/PORTUGUÊS DO BRASIL ...................... 113 COMPLEMENTOS NA WEB .................................................................................... 114


O AUTOR Pedro Coelho – Licenciado em Engenharia Eletrotécnica e de Computadores pelo Instituto Superior Técnico. Consultor e Gestor de Projetos de TI nas áreas da Web e da Internet. Com mais de 20 anos de experiência, já esteve envolvido em grandes projetos. Responsável pela implantação de Sistemas de TI (Billing, CRM, Provisioning, Plataformas de Serviços, etc.), redes de dados (TCP/IP), infra‐estruturas de serviço completo (ISP), serviços de Internet e aplicações complexas, e liderança dos departamentos de TI. Autor de vários livros sobre Sistemas de Informação, Internet, Web e Programação, todos editados pela FCA.


DEDICATÓRIA Aos meus filhos Rita, Filipe e João Pedro.


1

O

1

PRIMEIROPROGRAMA

A Internet e as tecnologias da WorldWide Webserviram de base para o grande desenvolvimento das tecnologias de informação e de comunicação, em várias vertentes. Ao longo dos últimos 20 anos, vimos aparecer sucessivas tecnologias cada vez mais dinâmicas e interativas, vimos muitas das nossas aplicações tradicionais migrarem de ambientes locais ou cliente‐servidor para a Web, e vimos também os sistemas e aplicações que utilizamos transpostos para múltiplos dispositivos, passando do computador para os tablets, telemóveis, televisões e outros dispositivos. O Java, mais do que acompanhado, tem estado na origem de muitas destas transformações, seguindo o caminho para o qual foi desenhado nos anos 90 do século XX. Neste eBook vamos contar a sua história e analisar em profundidade as suas capacidades, descobrindo porque é o Java hoje em dia uma “pedra basilar” na construção dos sistemas de informação modernos.

1.1

INTRODUÇÃO

Quando surgiu nos anos 90 do século XX, o Java introduziu na Web a possibilidade de integrar verdadeira interatividade em páginas WWW. As pequenas aplicações Java, denominadas applets, podiam ser diretamente integradas no código HTML das páginas e, assim, tornar acessível a uma página WWW tudo aquilo que usualmente se conseguia obter através de um programa, desenvolvido numa qualquer linguagem de programação. No entanto, desde a sua criação, o objetivo do Java era muitomais ambicioso do que simplesmente possibilitar a criação de alguns elementos programáveis em páginas Web, pretendia‐se mesmo a criação de uma linguagem de programação que pudesse correr em todo o tipo de computadores e dispositivos. Este eBook constitui uma abordagem introdutória ao Java, explicando as suas múltiplas aplicações nos dias de hoje e introduzindo a sua sintaxe. Sendo o Java uma das melhores linguagens de programação para se aprender a programar, esteeBook também poderá ser utilizado com esse fim. O Java é, hoje, a principal linguagem de desenvolvimento de aplicações no mundo dos sistemas de informação, e por esse motivo é, em muitos casos, a primeira linguagem de programação que os alunos aprendem nos seus cursos.Qualquer que seja o


seu caso, após a leitura deste eBook saberá os fundamentos de programação do Java e estará pronto para aprender a utilizá‐lo nas diversas situações em que esta versátil tecnologia pode ser empregue.

1.2

KIT DE DESENVOLVIMENTO JAVA

Algo que é fundamental para se programar é um compilador. Este é o produto de software que se encarrega de interpretar o código que é escrito de acordo com a sintaxe da linguagem e que, depois, o converte para um conjunto de instruções binárias que possam ser executadas pela máquina. Para executar aplicações Java, temos de ter instalado um software chamado Java RuntimeEnvironment (JRE) e, para desenvolver, precisamos de um outro chamadoJava Development Kit (JDK). A Oracle, detentoradaSunMicrosystems (Sun) – inventora do Java −, fornece de forma gratuita um pacote de desenvolvimento de aplicações JAVA (Software Development Kit – SDK). O leitor pode obter este software, acedendo às páginas WWW Java da Oracle, em: http://www.oracle.com/technetwork/java/javase/downloads/index.html e, depois, importar o software. Há outras duas alternativas de software JDK: o da IBM (http://www.ibm.com/developerworks/java/jdk/index.html) ou, então, o OpenJDK (http://openjdk.java.net/), uma versão opensource patrocinada pela Oracle e pela IBM (neste caso, sobre Linux). O SDK está disponível em várias versões, e com algumas variantes, consoante a plataforma utilizada e o software incluído. Existem versões para Solaris (sistema operativo das máquinas SunSparc), várias de Unix e Linux, Macintosh e Windows.Uma das versões do SDK vem com um produto de edição chamado Netbeans, que consiste num ambiente integrado incluindo o kit de desenvolvimento e um editor de código (IntegratedDevelopmentEnvironment – IDE). Para programar, o leitor vai precisar de um editor, e pode optar por usar o Netbeansou outro.Na verdade, para o seguimento do eBook daqui para a frente é irrelevante qual o IDE que é utilizado, uma vez que o que está na base é uma versão comum de Java que, na verdade, é utilizada para compilar e executar os programas. Neste eBook vamos utilizar como IDE de exemploum editor que há algum tempo assumiu o papel de leader, chamado Eclipse, que pode ser importado em http://www.eclipse.org. Este produto, opensource, nasceu a partir de uma versão da IBM, em 2001, e evoluiu a partir daí com uma comunidade opensource que hoje o suporta, podendo ser utilizado com software opensource ou comercial. Antes de instalar o Eclipse, e por o editor ser, em si, um programa Java, precisa de algo no seu PC que lhe permita correr Java, especificamente um JRE ou um JDK. Para


desenvolvimento é recomendável que tenha um JDKpor, entre outros aspetos, incluir o código das bibliotecas de que irá necessitar. Após a instalação do JDK (instale a ultima versão estável), pode passar à instalação do Eclipse. Em http://www.eclipse.orgestão disponíveis várias versões, mas pode começar por importar a versão clássica (Figura 1.1). Sendo um IDE altamente modular, o leitor pode, mais tarde, importar novos componentes e adaptá‐los ao seu editor. Há outras versões, mais vocacionadas para tipos diferentes de programadores, mas, na verdade, o leitor pode posteriormente instalar os componentes de que necessitar.

FIGURA 1.1 – Importação do Eclipse

Existe uma série de produtos no mercado nesta área e a tendência tem sido para o seu número aumentar, mesmo com as aquisições que tem havido no mercado. Apenas para mencionar os produtos mais utilizados, para além do Eclipse, temos o já falado Netbeans, o JDeveloper (também da Oracle) e o JBuilder, entre outros. Se o leitor for um profissional do desenvolvimento de aplicações, poderá ser interessante comparar os vários produtos e escolher aquele de que gostar mais, uma vez que, em última análise, o seu código será sempre compatível, visto basear‐se no motor base que é o JDK. Após importar o Eclipse, o leitor pode instalá‐lo facilmente, não sendo necessário correr nenhum instalador: basta colocar os ficheiros num diretório à sua escolha e executar o “eclipse.exe” que encontra no diretório “eclipse” no seu interior. O aconselhável será criar um atalho para o “eclipse.exe” e executá‐lo, fazendo‐se a configuração do produto na primeira utilização.

1.3

CONSTRUIR E TESTAR UM PROGRAMA


Passada esta fase introdutória, e para o leitor ver já um pouco de ação, vamos procurar fazer e executar um programa muito básico em Java. Se o leitor já teve a oportunidade de consultareBook e/ou livros de programação, certamente se lembrará de que é tradicional começar por um pequeno programa que envie para o ecrã uma frase e não faça mais nada (o famoso “HelloWorld”, em português “Olá Mundo”). Neste caso, vamos começar por criar um programa que envie para o ecrã a frase “O meu primeiro programa em JAVA!”. O primeiropasso é lançar o Eclipse. Ao fazê‐lo, surgirá uma janela com várias zonas de interação que permitem efetuar as várias atividades de desenvolvimento, gerir os ficheiros‐fonte e as respetivas localizações, bem como a organização lógica dos vários ficheiros nos pacotes de desenvolvimentos que se vão fazer. Nos menus do Eclipse selecione “File”, “New” e “Java Project” (Figura 1.2).

FIGURA 1.2 – Criação de um projeto no Eclipse

Agora podemos dar um nome ao nosso projeto e prosseguir, encarregando‐se o Eclipse de criar uma estrutura de diretórios e ficheiros para os nossos desenvolvimentos(Figura 1.3).


FIGURA 1.3 –Configuração de um projeto no Eclipse

Há um conjunto de opções que é necessário efetuar antes de a classe Java ser criada, masnesta faseo leitor não deverá preocupar‐se muito com isto. Para este primeiro exemplo, limite‐se a dar um nome à classe Java que está a criar (neste caso, “HelloWorld” – Figura 1.4) e a escolher a caixa de seleção que implica a criação de um método main(). Depois, basta pressionar “Finish”.


FIGURA 1.4 –Criação da classe Java de exemplo

Na verdade, este conjunto de ecrãs funciona como um wizard (assistente) que faz algumas perguntas, com o objetivo de efetuar a geração de código para que o programador tenha o mínimo de trabalho possível. Mas há sempre a alternativa de editar o código à mão, e utilizar um simples editor de texto; os editores Java somente poupam trabalho e ajudam a criar rotinas e procedimentos para que os projetos Java sejam feitos mais rapidamente. Do lado esquerdo do editor, surge agora o nome do projetoe, no nível abaixo, uma pasta “src” (se o leitor não tiver mudado o nome na janela anterior). É nesta pasta que vão residir os nossos programas‐fonte, ou seja, o código que vamos escrever. Com o botão direito do rato sobre a “src”, podemos selecionar “New” e a entrada ‘Class’. Estamos agora em condições de editar o nosso programa, o que podemos fazer na janela do lado direito. Como o leitor poderá constatar, já existe algum código preenchido, bastando completar. Neste caso, e porque estamos a criar um programa trivial de demonstração, vamos somente incluir uma declaração que envie alguma informação para o ecrã. O programa completo, incluindo a parte que já tinha sido gerada pelo Eclipse, fica da seguinte forma: publicclass HelloWorld { /** * @paramargs */ publicstaticvoid main(String[] args) {


// TODOAuto-generatedmethodstub System.out.println("O meu primeiro programa em JAVA!"); } }

Emboramais adianteseja focada a sintaxe Java de uma forma mais sistemática (Capítulo 5), o leitor poderá ficar, desde já, com a ideia de que um programa Java implica sempre a definição de uma classe, neste casochamada “HelloWorld”. Existe sempre também um método (função) main que contém as instruções que são executadas quando o programa é executado. Neste caso, tudo o que está contido nesta zona é uma instrução (System.out.println) que envia para o ecrã o texto que lhe é passado como parâmetro. O leitor também pode reparar que as secções de código são delimitadas por carateres “{“ e “}”, à semelhança do que acontece no C e no C++. Os ficheiros‐fonteque contêm o texto dos programasficam guardados com a extensão ‘.java’. O leitor pode agora executar o programa utilizando o menu Run ou a sequência de teclas “Ctrl” e “F11”. O resultado da execução aparece na parte inferior da janela do Eclipse, que é designada por “Console” (Figura 1.5). Na verdade, é nesta janela que vamos ver os outputs dos nossos programas, mas também os erros quando, inevitavelmente, os nossos programas não fizerem exatamente o que é suposto. Este resultado não é muito impressionante, mas a verdade é que, ao chegar aqui, já construímos e executámos um programa em Java, o mais simples que podemos construir.

FIGURA 1.5 –Editor do Eclipse


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.