Você está na página 1de 316
Oo eclipse pXoM Ola toltol Melo Nol Cao ih ome lo) PIT Taos MIL Coles oa CIENCIA MODERNA PREFACIO (O desenvolvimento da linguagem Java vem sendo cada vez mais presente nos dias Te nreenet io he Coons Ot stk POEESE Wet WoT CFI Cartruto 1-0 que e Java? 13 ara visualizar toda a licenga, use as setas para cima e para baixo do seu teclado. As teclas Page Up e Page Down também podem ser usadas, Ao final vocé verd a pergunta de que accita os termos de licenga “Do you agree to the above licence terms? [yes or no]”. Digite y(Figura 1.14): f rater Car rates of any ortesiction sit aly se mpm eee eae Th apes ater uring iciada, Ao seu término, mova o ditet6rio criado para a raiz ou para um outro diret6rio se desejar (Figura 1.15): shell# my jdk1.5.0_05 / ety Figura 1.15 ‘Apis a instalagio alta apenas configuraras varidveis de ambiente. Faga logout do root (comando exit) ¢ sete as varifveis para o usuério (Figura 1.16): shellf JAVA_HOMEs=/jak1.5.0_05 shelitexportJAVA_HOME, shell PATH=SPATH:SJAVA_HOME/bin shell# export PATH shell# CLASSPATH=SJAVA_HOMEZIib shell#export CLASSPATH shell#MMANPATH-SMANPATH:STAVA_HOME/man shell# export MANPATH. $6 para que voc# entenda 0 que significa cada variéve!: © JAVA_HOME.- Diretério onde a JDK esta instalada © PATH - Diretério dos executiveis, onde inclui o do Java © CLASSPATH - Diret6rio das libs © MANPATH- Diret6riodo manual, acessfvel porman javac, Cartruto 1-0 que Java? 15 Eee bgear 3 Figura 1.16 Para testar seo Java esté corretamente funcionando, digite no terminal o comando Javac (Figura 1.17): Spackty store 40 td vr Cane tite ‘Sreify store ts tna oer ace tee ‘Seciry rare te find igen nore fies 6 Dommsanno 0 Ecurse Para que vocé nio tenha que digitar essas varidveis todas as vezes que estiver no Linux, v4 até o arquivo .bashre, localizado dentro do diret6rio usuario em que voce cesté logado. Como o meu se chama Edson, entdo ficard da seguinte forma: pico /fhome/edson/-bashre No final do arquivo, di JAVA _HOME=/jdk1.5.0_05 exportJAVA_HOME exportPATH=SPATH:SJAVA_HOME/bin No teclado, dé Ctel + X para salvar 0 arquivo. Ue thiesse'it's stresoy sutted un fccroash base ond /te/provives Assim, toda. ver,que voc® efetuar login na sua méquina, esse arquivo écarregado, configurando assim essas varidveis, Capfru.o 2 Instalando o Eclipse Agoraque 0 J2SDK esté pronto para serusadoem suamsquina, voc€iragorabaixar « instalar 0 Eclipse para iniciar o trabalho com a linguagem Java. No momento da edigio deste livro, a versio era 3.1, mas como se trata de um desenvolvimento open source, essas versbes so rapidamente alteradas. ‘Voce pode baixara IDE Eclipse no endereco http://www.eclipse.org/downloads. Embora o Eclipse seja escrito em Java, voc€ deve baixar a versio especifica para ‘sistema operacional, devido ao uso da SWT. © SWT faz.uso de recursos especificos de cada sistema operacional, mais adiante eu explicarei isso. Basicamente, existem quatro tipos de versdes, listadas a seg Release —Umacompilagioestivel do sistema Eclipse foi liberada pela equipe principal de desenvolvimento do Eclipse. Isso indica que essa versio foi testada completamente, Nomomento em que escrevo esse livro, amais recente liberagao € a 3.1, no qual voce estaré aprendendo ao longo deste livro. ‘+ Stable build - Uma compilagio, que conduz até uma liberagio pela equipe de desenvolvimento, foi testada e pode ser relativamente estdvel. Novas carac- terfsticas normalmente aparecem primeio nessas compilagdes intermedi as, Estas compilagdes so equivalentes a versbes betas de produtos de softwares comerciais. 18 Dowinaxoo 0 Ecurst ‘© Integration build - Uma compilagio no qual os componentes individuais do Eclipse slo testados para serem estiveis pelos desenvolvedores do Eclipse. Nao hhé nenhuma garantia que os componentes trabalhario corretamente. Se cles, trabalharembem a0 conjuntocompleto, uma compilagiodeintegraca0 (Integration build) pode ser promovida a estado de compilagao estavel (Stable build). © Nightly build - A mais recente versio do cédigo de fonte. Como voeé pode prever, nao hé absolutamente nenhuma garantia desta compilagio, e se voc ‘utilizar pode ter sérios problemas. v Nota: As versies descritas este Tivro dos respectivos programas se encontram no CD anexo ao livro.O arquivo utilicado para é 0 eclipse-SDK-3.1-win32.2ip (para Windows) ¢ 0 arguivo eclipse-SDK-3.1- Linux), a versdo Release até 0 momento em que o livro & escrito Descompacte no local que vocé dese ux-gtk.targe (para No Winpows Para melhor compreensio do livro, descompacte © arquivo em um diretério temporario, geralmente o Temp no Windows e arraste o diret6rio eclipse para o drive CA, como mostrado na imagem a seguir (Figura 2.1: Carrruto2—Instatanoo o Ecurse 9 Assim como é para instalar, para desinstalar basta remover o diret6rio eclipse. Para iar 0 programa, dé um duplo clique no arquivo nomeado de eclipse.exe, ‘como mostrado na Figura 2.1 ‘Voce vers que funcionou corretamente quando aparecera tela de splash do Eclipse, semelhante A mostrada na imagem a seguir. Figura 2.2 v Nora: Como a instalagie, em Windows, ndo foi feita da forma mais comum, ou sei, com asistente, vocé notard que faliam atalhos. Fasa wm atalho na area de trabalho para ter um aceso mais ripide ao programa No Linux Da mesma forma que havia sido feito com a versio Windows, baixe 0 arquivo ¢ descompacte em um diret6rio temporirio, geralmente o /imp no Linux e mova 0 diret6rio eclipse para o diret6rio que desejar. No meu caso eu movi para Ahome/edson (nome do usurio em que eu estou logado no Linux) (Figura 2.3). me | Dosuma Bove Para descompactar no Linux, execute a sequnci shell# tar -xpvzf /tmp/eclipse-SDK-3.1-linux-gtk.tar.gz v Nora: arquivo em Linsce demonstrado nese exemplo extd no formato tarball. Esse tipo de arquivo foi usado porque voct pode estar usando uma distribuigdo Linux qualquer. Existem outras opgées na hora de fazer 0 download. ee SATE En QQ0G 00 4 3 — aofiaos pEYBco mio a ova $efosee mas tac Yn Figura 2.3 Para iniciar o programa, vi até odiret6rio eclipse no Terminale inicie o executvel ‘chamado de eclipse, como mostrado na Figura 2.3. Novamente, como no meu caso 0 usudrio se chama edson, eu entraria com o seguinte comando: shell#/home/edson/eclipse/ eclipse CapfruLo 3 Conhecendo o Eclipse (O Eclipse é uma IDE de desenvolvimento de programagio, inicialmente desenvol- vida pela IBM, que, segundo noticias, gastou mais de 40 mithdes de délares no seu desenvolvimento antes de transformar essa ferramenta em Open Source para um cons6rcio, chamado de Eclipse.org, que inicialmente incluiu a Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSofi,e Webgain. (utras companhias se uniram desde entio ¢ algumas também grandiosas como Hewlett Packard, Fujitsu, Oracle e Sybase. No entanto, a IBM continua encabegando ‘desenvolvimento do Eclipse por sua subsididria, Object Technologies International (OTH), com a equipe que iniciou seu desenvolvimento, ‘OTT € uma empresa que desenvolve ferramentas de desenvolvimento de objetos orientados, com uma histéria nos leva 1988, quando a escolha de linguagens de orientagdo a objetos era Smalltalk. OTI foi adquirida pela IBM em 1996, onde a 1BM adquiriuforga em seu ambiente de desenvolvimento de orientagio ao objetoschamado Visual Age Muitos conceitos utilizados pioneiramente em Smalltalk foram aplicados em Java, fazendo da ferramenta Visual Age for Java (VA4J) um ambiente sem igual Eclipse is essentially a rewrite of VA4Java in Java. Eclipse 6 essencialmente uma reescrita de VA4Java em Java. 22 | Doumanno o Bourse (O Eclipse em si fornece apenas o ambiente integrado para a execugo dos plug-ins © uns poucos plug-ins bésicas, como editor de textos ASCII, sistema de ajuda e integragdo ao CVS. Para devem ser instalados plug-ins adicionais. iciaro desenvolvimento, em qualquer linguagem que seja, Isso quer dizer que em si, o Eclipse nflo desenvolve apenas sistemas na linguagem Fava, mas sim em qualquer linguagem que vocé queira desde que esta tenhia um plug- in de desenvolvimento para ela, e se ndo houver, vocé mesmo poder desenvolver, se quiser. A ARQUITETURA DO ECLIPSE Além da pequena runtime, a plataforma do Eclipse consiste do Workbench, ‘workspace, help,eum time de componentes, Outros ply biisico necessério para a cringio de uma aplicagio usdivel ins seajustam ao framework A PLATAFORMA RUNTIME 0 trabalho primario do runtime € descobrir quais plug-ins estdo dispontveis no diret6rio de plug-ins do Eclipse. Cada plug-in tem um arquivo XML (manifesto), que listam as conexGes que o plug-in exige. Estas conexdes ineluem extensbes que apontam para outros plug-ins. Essa extensdo aponta para plug-ins que so requeridos. Por ter um nimero de plug-ins potencialmente grande, muitos nfo sfo carregados até que eles sejam requeridos de fato, minimizando assim tempo de inicializagio © recursos do sistema, O workspace © workspace & responsivel por administrar os recursos do usuério que sio “organizados em um ou mais projetos. Cada projeto corresponde a um subdiretério do Jdiret6rio de workspace do Eclipse. Cada projeto pode conter arquivos e diretérios; rnormalmente cada diretério corresponde a um subdiretério do ditet6rio do projeto, ‘mas um diret6rio também pode ser unido a um diret6rio em qualquer lugar no sistema. Quando voc@ iniciar pela primeira vez 0 Eclipse, vocé vé uma caixa de didlogo como a mostrada na Figura 3.1. Cartruto 3 Constecenpo o Bourse B ‘Voce pode mudar o seu espago de trabalho, clicando em “Browse”, ou aceitar 0 local proposto pelo programa ‘Se vocé desejarna ver mais essa caixade dislogonainicializagdodo Eclipse, basta marcar acaixade checagem “Use thisas the default and do not ask again”, antes de confirmar. Workspace Launche 7 Usetis asthe defo ond ort atk gan Figura 3.1 [io se preocupe, se depois voce quiser alterar isso, mesmo marcando a caixa de ‘checagem dessacaixade didlogo, véaté omenu File cemSwitch workspace voce pode alterar a érea de trabalho do seu Eclipse. ‘A seguir voct tem uma visio da mesma tela s6 que em Linux (Figura 3.2): eee ‘wprduatare tre yr ject nal cates mcapsce ‘Shecse a meaner tome ert enon ed eet arth dena deta as Figura 3.2 24 | Desmunoo 0 Basse O WorkBeNcH © Workbench € a interface grifica do usuario do Eclipse. Além de exibir 0s familiares menus e caixas de ferramentas, € organizados em perspectivas que contém visdeseeditores, Uma dascaracteristicas notdveisdo Workbench, diferente damaioria das aplicagdes Java, o look and feel € como uma aplicagao nativa. Isso ocorre porque cle foi construfdo usando Eclipse’ Standard Widget Toolkit (SWT)eJFace, um toolkit de interface de ususrio construfda em cima do SWT. Diferente dos padres grificos do Java, como AWT ¢ Swing, que emula o ambiente gréfico nativo, o SWT mapeia diretamente os grificos nativos do sistema operacional. ‘SWTéumdosaspectos mais controversos do Eclipse, porque SWT deveser portado para cada plataforma que suporta 0 Eclipse. Isso ndo chega a ser um problema, porque SWT ja foi portado as plataformas mais populares (incluindo Windows, Linux/Motif, Linux/GTK2, Solaris, QNX, AIX, HP-UX, eMac OSX). importante salientar que o Eclipse nfo 0 forgaa raat com seu Toolkit, a menos que voc queira fazer plug-ins, vocé pode continuar programando em AWT € Swing normalmente, quando se tratar de programar em Java, € claro seine |e 0-4 lage. [o4 [7B Ih 0-02 I = Bara States Figura 3.3 Carrruto 3~Coxscenno o Ecurse 25 Asbarrasde titulo, ferramentas, perspectivaestatustendem a ficarnomesmo local de uma perspectiva para outra. Enquanto vocé pode personalizar o aparecimento conteiido das barras, as barras estardo sempre disponiveis € nos mesmos locais. © Barra de Titulo: A barra de titulo sempre exibe o nome da perspectiva atual. © Barrade Menu: Estaéabarra de menu global do Eclipse, que lhe permite fazer todas as tarefas gerais. As op¢des disponiveisem cada menu também mudario dependendo do que estiver selecionado. ‘+ Barra de Ferramentas: Esta éa barra de ferramentas global do Eclipse que também the permite executar tarefas gerais ¢ tarefas especificas para itens selecionados. ‘+ Barra de Status: Esta linha exibe tipicamente informagio sobre o item selecionado, embora possa conter informagies adicionais que dependem da tarefa voct estéexecutando atualmente. Por exemplo, quando voce estiverem um editor de texto, a barra de status poder mostrar sua posigdo atual dentro do documento. ¢ Painel do Editor: exatamenteoque o seu nome dia: 6 uma ferramenta para editar documentos. Esses documentos podem ser qualquer coisa desde fontes de programas ou configurag6es de sistemas. ‘* Views: Views mostram grupos de objetos relacionados. ‘TEAM SUPPORT (© plug-in team support facilita 0 uso do controle da versio (ou configuragio administrativa) do sistema para administra os recursos no projeto do usuério e define ‘workflow necessrio para salvare recuperarum repositério.A Plataforma Eclipseinclut tumcliente paraum Sistemade Versdes Simultineos (Concurrent Versions System -CVS), HELP ‘Como a prépria Plataforma de Eclipse, © componente de ajuda é um sistema de ‘documentagio extensivel. Ferramentas podem adicionar documentagio em formato HTML e, usando XML, define-se uma estrutura de navegagio. Refletindo 0 modo ‘como plug-ins se conectam com outros plug-ins, ferramentas de documentagio podem inserirt6picos em uma drvore de topico preexistente 26 | Dowruoo 0 Bourse MULTIPLATAFORMA, LINGUAGENS DE PROGRAMAGAO E IDIOMA Emboraa Plataforma Eclipse sejaescritana inguagem Javae seu uso mais popular € como sendo um IDE Java, o Eclipse & neutro em linguagem de desenvolvimento. O que o torna mais atrafdo por desenvolvedores Javaé por parte devido aos seus intimeros plug-ins voltados para essa linguagem, mas com plug-ins adicionais, voc® pode Programar em outras linguagens como C/C++, Cobol e até mesmo C #. Eclipse também & neutro com respeito ao idioma. Da mesma forma que vocé pode dara plataforma acapacidade de programarem outra linguagem de programagao,com plug-ins voeé também pode alteraro idioma nativo.A IBM doou um pacote de! que suporta o chines (tradicional e simpli coteano, portugues (brasileiro) ¢ espanhol. mas cado), frances, alemo, italiano, japonés, ‘Vocé pode baixar 6 pacote de idiomas do Eclipse no mesmo site da plataforma, Carfru.o 4 Criando seu primeiro projeto Depois de voc’ ter tido um primeiro contato com 0 Eclipse, agora esté mais que na hora de iniciar um projeto, No menu File, vé até New e clique em Project (Figura 4.1). Figura 4.1 8 Domsaxno o Ecurse Selecione a opgiio Java Project e clique no botio Next Figura 4.2 Digite em Project name: MeuPrimeiroProjeto (Figura 4.3) ¢ clique em Finish. Figura 4.3 CCarrruto 4 Criasoo sev PRNRo PROJETO 2» CRIANDO UM PACOTE ‘Como voe# pode ver, criar um projeto em Eclipse no é complicado. Agora, vocé aprenderé a criar um pacote. Clique em File, New e clique em Package (Figura4.4). Em Name digite onome do pacote Figura 4.4 ¥ Mas 0 Que € rAcoTE? Visando ensinar ndo somente desenvolvedores experientes em Java, ese pequeno quadro std destinado a explicar 0 que € pacote em Jawa para os iniciantes ¢ relembrar os mais “velhinhos" na linguagem. Os pacotes séo estruturas de diretérios utilizadas para organizar classes interfaces. Os pacores fornecem um mecanismo para reutiliagdo de software. Um beneficio dos pacotes & que eles fornecem uma convencéo para nomes de classes tinicas, Iso possbilita a reutilizarho de software. Para que as pessoas fornesam nomes de pacotes rinicos, evitando assim conflitos de nomes, a Sun Microsystems especifica uma convengdo para 50 ||) Deine 6 Beet nomes de pacotes. Cada nome de pacote deve iniciar com seu nome de dominio Internet na ordem inversa. Como 0 nome do dominio que eu tenho na Internet é integeator.com.be: eu inicio na ordem inversa 0 pacote com br.com.integrator. Depois de invertide seu dominio, voce pode escother ‘qualquer outro nome para seu pacote. Como o pacote pertence ao capitulo 4 do livro, 0 final fica com 0 nome cap0s. Assim sendo, 0 nome completo do pacote utilizado foi: br.com.integrator.capO, CCRIANDO SEU PRIMEIRO ARQUIVO JAVA ‘Volte ao menu File ¢ em New clique em Class Em Namedigite OlaMundo. Marque opeao, se nao estiver marcada, publiestatic void main(String{] args) ecliqueem Finish. Cartrui04—Crasnoseurnvemorsoero | 31 Nesse momento voe# terno painel editor o arquivo OlaMundo,javaabertoe jécom alguns eédigos em Java jé escritos, |rs-We RMS -0-4-\aaO-|O¥ [FB |fi-t > alte (Hretare Fon] =) 58 me) {wes seen” Para que voc tenha esse arquivo funcionando com algum contetido, adicione 0 ‘c6digo a seguir em destaque, no local indicado (Figura 4.7): 1 public starte void main(Stringl args) ( a TODO Auto-generated method stub 3 ‘System.out.printIn(“OléMundo!”); 4) 2 Downeanoo 0 Ecurse Dcage Bescon RE ANT wate ease cinta ( + te oe " = gsc statte void saacserseat a8) ( ‘Sheen-ooptati("o Rass)2 Figura 4.7 Note que no topo do painel, onde se encontra no nome do arquivo, aparece um asterisco (*) antes. Isso indica que esse arquivo foi alterado. Para salvar as alteragies, ‘voc8 tem diversas formas, umadelas €clicarcom obotio direitodomouse sobre otexto do editor e selecionar no menu de contexto a opgio Save. Cormo4-CrnivosvmmenorieeT> | 33 (Outra forma seria usando o menu File opco Save ou utilizar 0 atalho Ctrl +S. Para compilare executar o arquivo Java, vocs irdatéo Runena ope Run Asclique em Java A pplication, Note que na View inferior ao editor, apareceré um painel chamado Console (Figura 4.10). (rates ai: [omen = elt let Figura 4.10 Esse resultado seria o da execugio do arquivo Java em um terminal aps sua compilagio ¢ execusio. CapiruLo 5 Aprendendo um pouco sobre Java Se voc® é iniciante na linguagem ¢ escolheu esse livro como seu ponto de partida rnesse mundo fascinante, seja bem vindo, Esse capitulo estard dedicado total e exclusivamente aos conceitos de Java, bem como também na sua utilizagdo com o Eclipse. ‘Agora, se caso vocé seja um desenvolvedor experiente, mesmo tendo bastante conhecimento, no ignore esse capftulo. Os exemplos contidos serio de suma impor- {ncia para 6 seu bom desempenho em Java utilizando a plataforma Eclipse. O pRINCIPIO BASICO DE JAVA Os aplicativos Java automaticamente comegam executando em main, Os parénte- ses depois de main indicam que ele € um bloco de construgo do programa, chamado de método, (Ométodo main éoexecutor Java, e sempre queo seu c6digo tiver queserexecutado ‘como um programa, ele deve constar no cédigo-fonte. Apalavra void indica que esse método executardatarefaaele definido. Os métodos sto capazes de realizar uma tarefa ou retornar informagdes quando completam suas tarefas 36 Dominaxoo © Ecurse ‘A chave esquerda "{", indica o inicio de um bloco,o corpo da definigo do método. [Uma chave direita ")'deve ser entio colocada para finalizar © bloco. System.out.printin('"OléMundo! Instrui a miquina virtual Java que seu programa quer exibir os caracteres que estio entre aspas. Na verdade, esto entre aspas porque sio strings, toda string fica entre aspas Note também que na finalizago de uma linha, voc deve colocar um ponto-e- virgula (;). A linha inteira, incluindo o ponto-e-virgula, é chamada de instrugio. VARIAVEIS E OPERADORES AAs varidveis devem ser sempre declaradas, isso porque cada uma pode conter um tipo de dados, primitivos ou objetos. Otipode dados ¢ importante para que o compilador saiba quantos bytes de memria ‘devem ser reservados & varidvel (0s tipos de dados podem ser primitivos, como os encontrados na maioria das linguagens existentes. Tiros DE DADOS INTEIROS Existem quatro diferentes tipos de dados inteirose podem armazenar valores dentro dos seguintes intervalos numéricos: Tabela de Tipo de Dados Inteiros Tipo Armazenamento_Extensio im bytes 2,147 483,648 & 2,147,483, 647 shot’ 2bytes -32,768 232,767 long 8 bytes -9,223,372,036,854,775,80829,223,372,036,854,775,807 byte__Ibyte 128127 Cartruto $— Artexpespo us rouco some Java 37 Em Java os tipos inteiros silo sempre capazes de armazenar tanto valores positives como negativos. Tiros DE DADOS EM Ponto FLUTUANTE Existem dois tipos de representagdes para valores numéricos em ponto flutuante ‘que se diferenciam pela preciso oferecida. ‘Tabela de Tipo de Dados em Ponto Flutuante Tipo Armazenamento _Extensio float 4 bytes Aproximadamente £3.40282347E+38F (6-7 digitos decimais significativos) double 8 bytes, ‘Aproximadamente + 1,79769313486231570E+308 (15 digi- tosdecimais significativos) Onome double refere-se ao fato de ter os nimeros duas vezes mais preciso que o tipo loa. Tipo DE DADOS DE CARACTERE O tipo de dados char denota caracteres segundo 0 padrio Unicode de representa ‘20. Enquanto uma String ¢representado por valores entre aspas - "valor"; tipo char é representado por valores entre aspas simples - valor. ‘Como o padraio Unicode foi projetado para lidar com todos 0s tipos de earacteres «em todos 0s idiomas, ele tem um cédigo de bytes, ocupando 16 bits, sem sinal, oque Ihe permite representar até 32.768 caracteres diferentes. ‘Alguns caracteres so considerados especiais, pois nfo possuem uma representa- io visual, sendo que em sua maioria sio caracteres de controle e outros so de uso reservado pela linguagem. Esses caracteres podem ser especificados dentro dos programas como indicado na tabela a seguir, precedidos pela barra invertida V': 38 Donmsaxoo 0 Ecurse ‘Tabela de Tipo de dados de Caractere Caractere Nome Signitie wb Backspace Retrocesso w Tab Tabulagio wn Linefeed ou NewLine Nova linha v Carriage return Retorno de carro v Double quote Aspas v Single quote Apostrofo, wv Backslash Barra invertida Tipo DE DADos Locico Em Java tipo I6gico é 0 boolean, capaz de assumir valores como false (falso) ou true (verdadeiro). DECLARAGAO DE VARIAVEIS Uma varidvel € um nome dado pelo programador & uma informagio no qual se deseja armazenar alguma informagio, Essa informagio pode ser definida pelo seu tipo Primitivo, ou seja, caractere ou niio, ou pode ser um objeto. ‘Uma variavel em Java pode ser um caractere ou uma sequéncia de caracteres, que devem seralfabéticos e numéricos, obrigatoriamente iniciado com um valor literal ou por um caractere '_' de sublinhado (underscore) ou'S'(ciftio). Como Java faz diferenga entre letras maidsculas ¢ mindsculas, varidveis como Teste ¢ teste sto consideradas diferentes, Precedendoa variavel,emsuadeclaragio, vocé deve colocar seu tipo. Porexemplo: int teste; double total; (Cartruto 5 Araexpenno un r0uco some Jave 39 Alm dessas regras bésicas, voc8 também deve tomar cuidado com as palavras que so reservadas pela linguagem, que obviamente, sio de uso da linguagem ou se encontrar reservadas para uma futura incluso na linguagem Java, Portanto,evite declarar varidveiscomo:for, new, class, do, final, operador, rest, var. ‘Também ¢ possivel declarar varidveis de mesmo tipo separados por virgula: double total, valor1, valor2; CoMENTARIOS Como toda linguagem de programagio, vocé pode fazer comentérios em seu cédigo-fonte tornando assim uma forma de documentar os e6digos deixados, que poderd ser uilizado por outra pessoa, pela equipe de desenvolvimento ou até mesmo Por voc, afinal, se voe® levar muito tempo para rever um c6digo desenvolvide, pode ser que vocé nem se lembre de como foi desenvolvido, 0 Java aceita ués tipos de comentérios: de linha, representado por duas barras (/ ‘),ode miltiplas linhas, representado por barra asterisco.e finalizado por asteriscobarra (U* *),@ um terceiro que se assemelha a0 comentério de mélkiplas linhas, que tem 0 prop6sito de documentar o programa: 1 Comentério de documentagaio * que pode ser feito em muitas linhas ” © comentério de documenta é posicionado imediatamente antes do elemento a ser documentado e tem seu contesdo extraido automaticamente pelo utiitério javadoc fornecido juntamente com oJDK. Para criar um comentério no projeto, v4 a0 menu Project e clique em Properties. Nacaixade didlogo, véatéacategoria Java Code Style. Em Configuregenerated ‘codeand comments, no item Comments sclecione Types. Clique nobotio Edit, Nacaixa de didlogo Edit Template digite o comentério a seguir: 40 | Dowmanoo 0 Ecurse we * eauthor Ecison Goncalves * para alterar esse comentario v4 em: * Project ~ Properties - Java Code Style - * code Templates - Comments - Types Figura 5.1 ‘Agora, no item Code selecione New Javatfiles. CCartruto 5—ArnespeNoo une rouco Sonne Java 41 Clique no bot Edit. Na caixa de didlogo Edit Template, digite 0 texto a seguir: I * Criado em $(date} + Bese comentario 26 & vAlide para o projeto + € um exemplo de comentarios gerado por template. Para alterar va * Project - Properties - Java Code Style ~ Code Tenplates - Code - New Java files v7 ${package_declaration) ${(typecoment } $(type_declaraticn} Clique no botio Insert Variable para inserir as varidveis que desejar. Note as variaveis existentes, como mostrada na imagem a seguir (Figura 5.3) 2 Downeaxpo o Ecurse Ao iniciar a criago de uma nova classe, marque a opso Generate comments. Which method stubs ou youth to eats? I pub tat ad mahi Ser aos) F constructs fom siperdass trherted abstract methods Do you mat to add commer as corigwod nthe popatisofthe rent ret? Seam, Figura 5.4 ‘Veja como ficou 0 seu cédigo com a geragto dos comentirios adicionados na Figura 5.5 a seguir: Cartruro5Arespevoo um rovensoaarjava | 43 “hoses io cre tages Figura 5.5 OPERADORES A linguagem Java oferece um conjunto muito amplo relacionado a operadores destinados a realizar operagies aritméticas, l6gicas, relacionais ou de atribuigao. Tabela de operadores aritméticos Operadores ‘Significad Exemplo digo ou sinal positive a+bousa Subtragio ou sinal negativo a-bou-a ‘Multiplicagio atb Divisio a/b Resto da division am Incrementovitirio +a ou ate Decrementounitério “ Dommanoo o Ecurse ‘Tabela de operadores relacionals Operadores Significado Exemple = Igual aseb Diferente alsb > Maior que ab < Menor que >= ‘Maiorou iguala Menor ou igual a ‘Tabela de operadores Isgicos Operadores Significado Exemplo ae E6gico (and) a&&b u ‘OU Légico (or) alt ! No (n00) a 0 operador de atribuigdo em Java € 0 sinal de =". EsTRUTURAS DE CONTROLE Em algumas circunstincias, quase que insimeras vezes, voc8 precisa naturalmente cexecutar instrugGes de um programa baseado em condigGes, no qual podem ser baseados para acessar informagSes somente se a condigio for satisfeita ou até mesmo repetir uma ddeterminada quantidade de vezes a mesma instrugio até satisfazer uma condigo. A linguagem Java possui diversas estruturas de controle destinadas ao controle do fluxo de execugto, As estruturas de controle de execugio estio divididas em: © Estruturas de desvio de fluxo ~if..elseif..else; switch * Estruturas de repetico condicional - for, while, do...while © Estruturas de controle de erros - try...catch...finally © Mecanismo de modularizago - métodos CCarfruto 5 Aruenpesoun roven sons Jaen 4s A ESTRUTURA IP...ELSE IF...ELSE A conhecida instrucio de desvio de fluxo de execucio, oif..elseif..else permite aselesio entre dois oumais caminhos distintos emumacxecusio, dependendo sempre do resultado avaliado na estrutura, que retoma verdadeiro ou falso em umaexpressiio Vogica, Crieum segundo projeto, chamado de ConhecendoJava. Crie uma nova classe no Eclipse e coloque onome de EstruturaDeControlelf. Mantenha selecionada a opto ‘Public static vold main (Stringt args). Digite 0 cédigo em destaque a seguir: EstruturaDeControtelt java public class EstruturaDeControleté ( Public static void main(Stringl] args) ( 4f( Integer.parsetnt ( args [0] ) > Intager.parsetnt ( args [1] ) )( System.out.printin("0 valor inicial ¢ maior que o valor final"); d ‘else i£( Integer.parseint( azgs(0] ) < Integer parseInt( args{1] ) )( Systen.out.printin("0 valor inicial menor que o valor final"); y etse( Syaten.out.printin("0 valor inicial @ igual ao valor final"): d Para rodar, no menu Run clique em Run... Em JavaA pplication, clique como botiodireito domousee selecioneaopytio New “no mena de contexto (Figura 5.6). 6 Dowinsnoo o Beurst Figura 56 Ao surgir EstruturaDeControlelf, v4atéaguia Arguments, edigite os aémeros 1 ce depois de um espago, 0 mimero 3, como mostrads na imagem a seguir (Figura 5.2), clique em seguida no botio Run © an sem | me | ct] son PR cree 414] ran wares serena otra Setry om dan tre ery Figura 5.7 (CartruioS ~Amevorsine uit rouco som JAVA 7 Observe o resultado na parte inferior. em Console. Volte novamente em Run € ccoloque outros argumentos para que voce possa testar as outras condigDes. A ESTRUTURA SWITCH A estrutura switeh aceita uma varidvel e a compara com uma lista de constantes, exccutando uma Tinka de eddigo (ou um bloco) guandoencontrar una corresponén- cia. mito empreyad na avalinglo de uma seqiécia de testes, como.ocore com a insiruga0 ets felse Prsm,essaesruura€limitada, poucousadaem um ego save Da mesma forma que no exemplo anterior, erie uma nova.classe, com o nome de EstruturaDeControleSwitch ¢ ailicione o cddigo mostrado a seguir em destague: public clase cot Public static void main (st: int valor; valor = Integer.parseInt ( args{0) ) > auitch( valor )( case 1 case 2: System.out.printin("0 valor 6 1 ou 2") :break; ease 3: System out printla ("0 valor é 3"); break: ‘case 4: System.out.printia("O valor é 4"); break; Gerault: System.out.printin("0 valor @ maior que 4"); ) Executando a mesma sequéncia do exemplo anterior, na caixa de ditlogo Run, ‘idiione na guia Arguments niimero 2¢em seguidaclique no hotdo Run, Execute fovamente com outros niimeros, 48 | Downawno o Eeurse A ESTRUTURA DE REPETIGAO FOR Asestruturas de repeticio condicionais, mais conhecidas como loops, so também muito tteis no desenvolvimento de sistemas, pois permitem que um determinado trecho do seu cédigo seja executado diversas vezes, baseados em uma condigio. © loop for é composto por trés segdes: inicio, onde vocé da ele um valor inicial paracomegaraexecueo, condi, onde feito um teste no qual ele verificara sempre ‘em uma nova repetigio, se foi ou ndo, satisfeta a condigio; ea atualizagio (ineremen- to/ decremento), onde o loop adicionaré ou removers um valor, enquanto a condigio no for satisfeita. Essas segdes so opcionais, ou seja, podem ou nao ser preenchidas. O que normalmente no acontece. EstruturaDeControleFor java public class EstruturaDeControleFor ( Public static void main(String argsf 1) { for (int contar = 0; contar < 10; contart+) { ‘System.out.printin("0 valor da variével contar 6: "tcontar) ; ) ‘Comoesse c6digo de exemplo ¢ bem simples, nio é necessério iraté o menu Run para rodé-lo. Na lateral esquerda, clique sobre o nome da classe com 0 botio di ‘do mouse, em Package Explorer, ena opca0 Run As clique em Java Application, ito O Loop WHILE ‘Acestrutura de repetigdo while ndo possui uma segao para inicializago e nem para atualizago, Esse loop apenas testa a expressio l6giea ¢ executa um comando ou bloco de instrugdes enquanto ela resultar num valor verdadeiro em sua condigio. A inicializagto ea atualizagio da varidvel que controla o loop devem ser feitas uma fora do loop e a outra dentro do bloco de instrugdes respectivamente. Crie uma nova classe e a chame de EstruturaDeControleWhile. CCantruto $~ArnenoeNDO UM POLCO SOBRE JAVA 0 EstruturaDeControleWhile.java public class Estruturabecontrolewnile { public static void main(String args{1) { Ant contador=0; while (contadorInteger.parsernt (args{0])) { Systen.out.printin valor) ; valor ~ , ) catch (ArrayIndexOutofBoundsException erro) { ‘System.cut.printin("Voc8 ndo forneceu um argumento") ; » catch (mberFormatException erro) ( System.out.printin("Vooé no forneceu um numero inteiro") » ) Quando executar, voc8 deverd passarargumentos. Execute com nenhum argumen- to ou uma letra para ver a excegio. (Carfruto5~Araexoenino uM rouco sosne Java st Figura 5.8 v Nota: Para wm iniviante, & muito bom visualizar problemas que ocorrem quando nao existe 0 tratamento de excecbes. Faca 0 teste nos cbdigos feitos anteriormente, onde hd a passagem de argumentos, deixando esses em branco para vocé ver 0 langamento de excegées exeeutadas pelo Java no sole. © formato finally ficaria assim: text //dixetiva normal ? ) finalty( //diretiva de erro ) IETODOS ‘Um método é uma fungo que representa um conjunto de ages que um programa deveexecutar,Criamosummétodo quando desejamos que essasagées sejam reutilizadas ‘em diversas partes do seu programa, Com isso evitamos a repetigfo de um mesmo ‘conjunto de procedimentos sem necessidade. Lic class Desenvetodos | void metodotim( ){ ‘System.out.printin( ) 90 6 um método sem argumento") ; 2 Dowmeanpo o Ecurst Ant metododois( ) { int valor4=10,valor2=13, Ant total = valori*valor2; return total; ) double metodefres(int argi, int arg2)( double total; total= (double) argi/ (double) arg2; return total; ) public static void main(Stringl ] args) ( DesenvMatodos desM = new Desenvitetodos( ): destt.metodoUa( ); System. out. printin (desM.metodoDois ( )) ; double totaladesM.metodoTres (10,5) : System.out.printin(""+total) ; ‘Os métodos sempre slo seguidos de seu tipo, int e double por exemplo, podem passar ou no argumentos, podem retornar ou nio valores. Oprimeiro: inicio do método a palavra void. todo, metodoUm, ndo retorna valor algum, porisso vocé encontrano, (Osegundométodo, metodoDois, retorna um valor, voc® encontra tipo dométodo em seu inicio e a palavra return no final do método. Otterceiro método, metodoTres, também retorna um valor, mas também aceita argumentos, ou seja, vocé pode definir novos valores todas as vezes em que chamar esse método. ‘Carfruto 5 Artexoexpo um rouco sen: JAVA 3 ¥ Onservacio: Tado método que nao for void deve ter 0 retorno de um valor, utlizando a palavra cewurn, Cada método sb pode retornar um valor. A PROGRAMAGAO ORIENTADA A OBJETOS © Java é uma linguagem orientada a objetos, ¢ como tal, voc® nto poderia deixar de ter aqui um pequeno resumo do que seria essa tal orientagio a objetos. Uma grande quantidade de pessoas que desenvolvem em outras linguagens de programacio estio muitas vezes familiarizadas com a orientago de objetos, mas devido a flexibilidade da linguagem, muitas vezes por puro capricho o programador desenvolve de forma procedural, como era feito antigamente. ‘A programagaio orientada a objetos, também conhecida como OOP, € uma maneira de construir programas de computador que espetham 0 modo como os objetos so ‘montados no mundo fisico. ‘Com esse estilo de desenvolvimento, voce poderd fazer programas mais lexiveis, reutilizdveis e inteligentes. OBJETOS E CLASSES A programagiio orientada a objetos & baseada no modo como, no mundo fisico, 0s objetos so constituidos de muitos objetos menores.. Por exemplo, vocé pode observar esse livro que, para t@-o na forma como voc8 © ‘¥, ele primeiro foi uma érvore, que se transformou em celulose, depois em um papel ‘eem uma gréfica, vocé tem 0 livro como 0 vé. E ai? Voce deve estar se perguntando, Bom, primeiramente uma drvore (objeto inicial), pode sertransformadaem diversascoisas, como madeira, paraconstruicasas, ‘em carvio, para um maravilhoso churrasco. 44 quando voc8 transforma em papel, esse pode ter varios tipos, desde para um livro até para um cademo, © importante de tudo isso € 0 conceito de que, voc@ inicia um desenvolvimento sendo uma raiz de tudo, essa € érvore. Depois voc# reutiliza esse arquivo drvore para transformé-lo em diversas coisas, como papel, carvio, lenha, Natransformagao desses 4 Dowuxaxoo 0 Ecurst diversos objetos, voc® pode utiliza-los para diversos fins, o objeto papel, por exemplo, vira livros, cadernos, envelopes ¢ etc. Um outro recurso importante na programagio orientada a objetos sio as classes. Classe é um modelo usado para criar um objeto. Todo objeto criado a partir da mesma classe tera recursos semelhantes, se niio idénticos.. Asclasses incorporam todos 0s recursos de um conjunto especifico de objetos. Em um programa orientado a objetos, voc® no cria objetos individuais. Vocé define, em ver disso, as classes usadas para criar esses objetos.. Uma classe inicial pode servir como um modelo abstrato. Para ter algo realmente concreto, para que possa ser manipulado, voce pode usar essa classe para eriar um objeto, A criagio de um objeto a partir de uma classe ¢ chamado de instanciagio e os objetos criados também so chamados de instdincias. REUTILIZANDO OBJETOS Com a linguagem Java, vocé tem diversos objetos que partem de uma classe com tum modelo abstrato, que instanciado, dio novas caracteristicas a0 objeto. ‘Ao escrever um projeto Java, vocé projeta ¢ constrsi um conjunto de classes. ‘Quando 6 programa ¢ executado, 0s objetos so instancindos a partir dessas classes € usados de acordo com a necessidade. Felizmente em Java nada 6 iniciado do zero. Voc® pode construir diversas classes tilizando um modelo j4 existente. Nesses modelos existentes, voc tem objetos sgrificos, som, objetos de desenvolvimento para a Web e até para aplicativos méveis como celulares ¢ computadores de mio, CarfruLo 6 Conhecendo a interface do Eclipse Quando a plataforma Eclipse foi desenvolvida, seu time de desenvolvedores

Você também pode gostar