Você está na página 1de 703
para iniciantes Javar 6? edicao Crie, compile e execute programas Java rapidamente q Herbert Schildt Q O autor (0 autor de best-sellers Herbert Sehildteserove incansavelmente sobre programagio hai quase tr décadas ¢ uma das principus utoridades na inguagem Java. Seus livros de programasdo venderam milhies de cps no mundo intio ¢ foram t- ‘duridos par diversos idiomas. E autor de virion livtos sobs Java, incluindo Java: ‘The Complete Reference, Herb Schld's Java Programming Cookbook e Swing’ A Beginners Guide. Ee também eseroveu sobre C, C++ ¢ CH. Emboratenha ineresse cm todas as drcas da computa, seu foco priacpal slo as linguagens de progra- ‘magio, ineluindo compiladores,interpretadores e Tinguagens de conto robe. Tambem tem grande inlerese na palronizagio de Tinguapens. chil tem gradua 0. poe-gradoag pola Universidade de Ilincis, Seu site ¢ wer HerSchildt.com. 0 editor técnico Dr. Danny Coward trabalhou em oss as edges da pataforma Java Ele eonduziu defini dos Java Servlets para primeira versio da plataforma fava BE © para fem dela, os servigos weh para a plataforma Java ME, ea estratgi plaejemento de Java SE 7. Fundos a tenologia JavaFX e, mais rcentements, projeton 9 maior scréscim feito ao pao lava EE 7, « APLJava WebSocket Da codificagio em ava 30 projeto de APL com especialistas da indistia ea trabalho por viios anos como txceutivo do Java Community Process, ele aun uma perspectvasingularmeate tampa de virios aspectos da tecnologia Java. Além disso, € autor de Java¥ehso ‘ket Programming de um livto ainda asec publicado sobre Java EE. Dr. Coward tem graduasio, mestrdo e doutordo em Matematica pela Universidade de Oxfor. oe, ’Bx Se ‘av par incites: ci, comple e execute programas Ja npidanente [recuse elewonico| Hester Sculdt, ‘tate: Ai José Coelho Céad Siva tevido ‘een Mara Livia lank Lishs, 6. Peta Alegre oaks, 2015 aid como iv impress em 205, ISBN OTE 85 4200357-6 1. Lingugem de programagno fav Tao, eDU ODL ‘Geialogazao ma pblcago: Poiana Sanchez de Avaujo CRB 102008 Herbert Schildt 6 edigao Crie, compile e execute programas Java rapidamente “Tradogé: lit José Coelho Corns da Siva Revisio tecnica: Maria Lica Blanck Lisa putes rm Cacia da Computaco pela UERGS Profesor do lasts de lfomiica da UFRGS Verso impressa desta obra 2013 2015 ‘Ova riginaiente pobica sob oul Jana A Nepnners Guide, hen ISBN OT IH09252/978-0.07-180025-2 [igi orga 02014, The Mera 4 Gaal Faseation Holdings, LLC, New York, New Yank {00 inl parx agua portugues ©2015, Hookmaa Compania ior Lida, una empresa do (Grupo 4 Fatencio S.A. Too sis reservados. Geren tra: Arysinha Jaoques Aon ‘Colborne eto: dor Aten Hella Prepare origins: Bien Rae Letra ina: ava Sines Pes ‘Caps Kale Fnotondo Heir tesobre cae xg rac lta Techooks Reservas dono ditelios de pablo, m ag portage, 2 [ROOKMAN EDITORA ETDA._ uma empresa do GRUPO A EDUCACAO S.A Av. Jerome de Ornelas, 670 Santana ‘900-340 Porto Aesre RS ne: (51) 3027-7000 Fox: (51) 3027-7070, prota a dupicagto ou reproduto deste Yume ow oven pate, sb quaiguee fiasco pr quar mes etn, cin, raga, fotos, dba m2 Web ‘cout, sem prise expsa da tor, nde Sto Pato [vn Maced Soues, 10738 Paya 5 Con Espace Cte ia Anasico ~05095-038~Sa0 Paulo SP Fone: (11) 3665-1100 Fax: (1D) 67-1333 SSAC 0800 703-3444 — wa grape co be IMPRESSO.NO BRASIL, PRINTED IN BRAZIL Origen da inguager Jase ‘Qual arelagao ene Java, Ce CH Qual a elagioente Jae OPP CContfuides da tinpuagem Iva pan a Inter ‘Applets so Segurancs Porat Co (O sepredo ds inguagem Java: o bytecode 0 ang $0 enema rogramacao orcad objtoe CObtendoo lava Developmen Kit Um primeir programa simples. Inserindoo programs... - Compan progam Primei exemple de programa ‘Tratando eros de sins {Um segundo programa sings ut tipo de dad w Sumario ‘Tente Isto 1-1 Converta gales em litres, ‘Duss instragoes de coal ‘A instgso Otago for Cre bioes de eg. nn Fone vig: psonanea Prticas de rest = “Tele Lte 12. Metbere 0 conve emnnvnnennnrnnenmemenn ‘As pulveaschave Java a emtiteadores er av. Sunn Asibliotcas de clases lava 2 “este do Capto Introdusao a tipos de dads € operadores nevi Por ques tipos de datos so importants ‘Tes ros dingo “Teate Ito 2-1 Qual 6a distancia do relampage? Liters = “Liters hexadecimal, acta bine = Sequins de escape de ericteres “ Liters de rings. so Um exame mas detalhado dss varies. Inland uma varie, Iniitizageo dni scope e tempo devia ds varves. Operator nnn ‘Operaiones artnticos " Torementnedecremento.- 7 ‘Operas eiciemas gion ‘Operators lpios de cao-ceeile (© opecaor de aibuiga. Atebaioesabreviads = = ‘Conversio de ips em atrbugbes. nn sie ‘Convertenda pos incampaties - “ Preceséncia de operadores. coo “eet eto 22. Taleo por ow operas bgitenee Expresses, a = ‘Convero de upos em expresses - oi Espagameatoe partes, “este do Capito. Sumario vil a “ : ot Ws aninhaos. ~ oe a) Aexcala feet co Clic o ‘A insueao switch, = = ee Instragies switch ania. Tene slo 31 Consiroa um sistem deat Jains TB 0 0 - Co 1 ‘texas ving g - 16 Panes ausents i ” O lgo init 1% Lagos sn cone 1” DDeclarundovariveis de contole de lago deat G0 ago ft snes 1D » wo a 3 O Lago for melborado Sn ago While nnn aba Otago do-it ‘Tente Isto 3-2 Methore o sistema de ajuda Java an Use beak pra sir de um Leo ° ‘Use break come wm forma de 10 - Introdugio u classes, objetos ¢ métodas, Fndamentos das les Forma geval de uma classe oo a Detinitd ua cass Como os objets so crises. Av varied de efereni Meteo ‘Ailend um método& cise Veil. Retormando de 1 MEOE0 Reta mwa sando pares... - "Adiionando um mdi paratizad Veblen vrvsrssosnnneen 1H ‘Tente fo 4-1 Crie ums clase de ajuds Consors. = ~ a CConsruores parametizados. Ln " ‘Adiconando um consrutor case Vehicle m Ooperadoe new fvsitAb0 evs Clea de xa “ “ O metodo finalize} vill Sumario Tene be 42. Dement sen deo ag. A palavrchave this... co “Teste do Capito. a mene Mais tipos de dadas € operadores women 132 Arrays. " : “Arrays unidimcnsionals. ‘Tente sto 5-1 Classfique um array. Araysmuldimensionas "Aeniysbidimersonsis Araysirepulas.. “Arrays des ou mals dimensdas Inicilizando arays mulidimensionais Sloane sera pr a delaras de rays 2 iret ' 43 144 “Tente lta 5-2. Uma clawe Quede. 146 (0 ag fr dees for 2ath 150 rand po arrays mulimensionss - 155, pind lao ferme - 154 Swings ns ecemttreertrcennune: 128 Consrindo sings ae saan: 13 Operando 0m stn. | “Amys de rng “ 158 Stings no pir er alters Comune 188 ‘Usando um sing par somtole um instr switch von 160 Usando arguments de ina de COMIN. nsnesssnninnnnnsnnsns WL Os opaaderes bis 162 ‘Os operadores bitwise AND, OR, XOK e NOT 163 (5 operadores de deslocament aan 1 Arbuigesaeviadas bitwise ” “Fente sto 5-3. Ui clase Show Bits nvnsennnnnnnnnnnnmninnnnnene 169 © opeaon - “este do Capito an ‘Verifleaso minuclosa dos métodas ¢ classes... ‘Contolando 0 acesso a membros de cast. ‘Masifeaderes de acess ds linguager Ja. “Tente lta 6-1 Melhore a clase Queve.. Passe objets para 0s métodas ‘Como or argumentoe x50 pasado Retornando jets Sobnecarg de mins one Sobrcarepando consrwoees ‘ise i6 arecmmemo cantina i urn RECUEBO ven : atendendo or membros enteos ‘locos erios. Tente Isto 63. A classiiagioripida Introdugo 3 lasses ainda itera. ‘Varars arguments em quantdade vail ‘Aspecosbiscos dos vara. . Sobrecaregando mdtados args ‘arars ambigvidde, . Teste do Capitulo 6 2 Horanga.. Aspton seo de beri [Aceswo a membros ea her Conse ering. Usando super para chammarconstruores d superclass. an Usando super pra cesta membros da supeelsse a ‘Tente Isto 7-1. Estenda a clase Vehicle. Ciando uma hierargus de véros nes. ‘Quando os consrtores So chamados?.cnrnnnnnen Referéncias da superclass abjcos da subclass. a 9 Sobreposigao de mes... ramones OS “Método scbtepostos do supote 20 politi. 26 Porque sbrepor meds? (mann 248 ‘pcan aceon emo TS =e oe 208 Usando classes abs anc sand fina 256 A pilarachave final inpede a sObrepOIG0 ono nnonnnennnnnne 25 ‘A palave-chave final impede a herangavcacccncennnsnennnnnan 256 ‘Usando final com membros de dads Alas Objet. “este do Capito 7 Pacotes ¢Interfacsmnseinininnnininnnninirnnnmnnnnne 260 Prodi isssascicstics mAnC AST Define um past "Encorranopacates € CLASSPATH. Exempla breve de aot Pacotes eo acento a memo Exempla de acesso a pacote Emendendo or memos poteidoe Inport acces Biblioteca de classes Java ica comlda em pots, Inerfaces Implemeatandointeriaces Used efertcis de tetas FFunimenios ds moos odio. a ‘Un exemplo mais pico de wm metodo padi. nreoa Problema da rang rtipl. nore Use mst sttc em uma interface s-sovsevnononn ‘Considrages nai soe os pete e nterace, “este do Capt 8 nn ‘Tratamento de excegdes ierarguia de exceges FFundamens do tratamiento de exc ssn snd ye etch ~ “ Bxemp de exceg sips aaa ‘Consequénias de uma exceg40 nia captada ones ‘Bceghespemitem que we aero nomen Usandovirias nstruges cath Capturand excegoes de sobelsses, locos ty podem ser aniahades [angando uma excegae Relonando uma exec xame mais detathido de Throwable Used fay a Usando throws “Tres recusos das excegiesadiclonadonecenemente Brcoges inter da linger lava. ‘Crna subclones de excep WO Java baseado em faxes. Fluxos de bytes e fluxes de earacteres accanaiasumansiaan 2S ‘Chasse de luxor de bytes. = ‘Cases de us de eaitoes. Fiuxospredefinios. “ sano os fanos de bytes. Lemdpacrirda Go conole uiciundiidinsiin diate Grivando asda do comole Semana a endo ¢ gravandoarqives usando faxos de bytes. 38 ‘Gedo eres em GHD atcantteionnenny A (Geavando em wm argv eae 382 Feehan antoaticamente um argues ana 384 endo ¢ sravando dados bins. ns) a ‘Tente Isto 10-1 Utlitévio de comparagio de arquives. Arquivos de acesoaleatrio.. Used ion basen em earctres danger lava, Entrada do console com o usa de fuxos de carter. Sai do console com o uso de Naxos de carter. Wo de arquivo com ous0 de uxos de arctan ‘Usa om FHEWite nn a ‘Usando um FileReader a ‘Usados enapsuladores de ips da Ingseen a0 “Teste do Capitulo 10. teeters 3 Programagio com Vtias threads wwusnnnnnninsnnnnnnnnns MOD Fundamentos do uso de wii treads. ‘Xcasse Thread ea nerace Runnable. (Chandu 8 “Algamis melhoras simples ‘Tente Isto 11-1 Estendondo Thread. Cian vias threats. vo 7 7 DDeterinande quando una ead teri cvnrwsnensnsnennewncn 318 Proidades das head e a ame 381 3a A nstrgiosyehronize ono 38 Cement ted com eo), wale). moon SP -emplo que usa vat) notify). : siamese SEE Suspendendn reomande «encerando threads 0 ‘Tente Isto 11-2 Use thread principal. Teste do Capito Meee EnumerugSes, autoboxlng, Importagio esiticn € anotagBes.. mumerages. undamentos da enumera...n oo [As eaumeragdes Java Sto ips de ase Maho valus()evalusO4() CConstrutores,métodos, vardeis de insnciae eaumeragies. Das resrgSes importantes, Son Emumeragées beam Enum... Co Tete Iso 12-1 Serr ota por mpd mn secre $09 Auton ot — le Encapuladores de pn au Fundamentos do autobonng.vesessssrsnmnnmnnnnnnninninnonnnnnan 417 Autoboxing © os metodes. a ‘Auloboxing/unboxing acme em expestOE cnn moan AD ‘Aadvertnca ss oe 420 xl 43 44 Sumario Import ett nnn ii Aa Anotagoes(metadados). vnnnrnnennenns ABM ‘Taste do Capilo 12 - I a6 “Tipo genéricos Fandaneno os tos pens. Exemplo simples de gensrico co ‘Genéricos funciona com ios de retertcia. ae ‘Tipos gencticosdferem de acordo com seus argurentes depo oven 484 Classe gendica com dos parimet Os 8 P0489 fom gr ums ese esa. fe 836 “ipos limita. oonsmnnnnnnnnennnnnnsn SOI ase Usandoarpomenios cling nee vnnennsonnenncnn, 40 Caring LiMit$ an anonsniennennnn on 48 Metodos genéscos as ‘Constrtres genic. a8 Inrtacesgonsrics. a8 “Tente Isto 131 Cri wm - 481 “pos bates eigen ernie vo ASS Infertacia de ios com 9 operado osang0 nnn 48 Eras se : "hitman 459 Fars de ambigoidads — 460 Algumas resis dos pearios. fascia ABl aries de ips eo pom se insta, = 461 ‘Restriges aos membros esis. estrioes aos arays penis. “ ast estrigoes a excepoes genes 46 ‘Contiuando sex estuda sate penricon Sandel “Teste do Capt 13s Expresses lambda ¢ referénclas de método... Tivodugso is expresses lamba... Fundumento das expends lambs Interfaces funciona. As expresses lambda em ig0.0. Expresses lambda de loco. Interfaces funcional pendent “Tente Isto 14-1 Passe uma expresso lambda como argumento [Expresses lambda ea captura de varies... [Lance uma exceydo de dentro de uma expresso laa Referéncias de metodo a Referencias amd sieves ic A Referéncias «mods de instil 288 Referéncins de constr. an Interfaces funconas predefiidas. 495 “Teste do Capitulo 14 — 496 Sumério _xill 15. Applets, eventos topleos divers. Aspsctos isos do pe ss Organi cements escnis Jos ait “Argue do apps xquelto de applet completo Inatesoeencemamens So ie. Solita ‘Meéiedo update) Tete Isto 15-1 Ale debian sine Usando ajanela de stats. Passandoparimetrs pars apps. classe APE nnn ‘Tratameno de eventos Modelo de delezagto de events. Eventos fv Fontes de even nat nn 316 Ouvints de eventos S16 (Classes de eventos nuance $16 Interfaces de ovis de eventos vnsnnnvnvnnnnvennnnnnnen 317 ‘Usando o modelo de deegago de evens... = Sooo 18 "Trandocvents co mouree de seus mvimenion. vss S19 Applet de evento dé mouse SIMPL ener, $19) Mats paavens-chave B¥- a ST se Mouificadores transient Ola. snssncnncnnnsennnennnn 329 n6n920f eee sit ann Métados natives. ‘Teste do Capito 15. 16 Introdugio & Swing non (Origen ilosota do desin de Swing. nitrites Componentes contineses. “ Compeneates Contineres Pines do coniine de nivel superior oo CGerenciadores de lite - ‘Um primo programa Swing simples. ii Fens ctpl de Sting iit ia ann Use Baton, ee maaan Trabae com FTextFild Chie tm SCHEKBOE....svvsvnnsnnvnnnnnnnnnnnnnnnone Trae som Sisk. : “Tenteleto 161 Uilitdrie de comparnsSo de arguivs bascado can Sn Use clases intermasannimas ou expesses lambda para trata evenos. Chie um apples Sing. - no = “Teste do Capitulo 16. xv AT Introdulo a JavaFX, Sumario ‘Conccitos Bisco de JavaFX. (pcos Java. 7 AS classes Stage e Scene - Nose grates de cena. Laine = ‘A clase Application eos metodo de cel Yl Iniciando um aplicatvo avaFX 2 squeleto de pleat J2¥AFX we ‘Compilandseexecuando un programa fava A thread do aplicaivo Un contole JavaFX smpes: orl. Usandoboldese eventos Aspectoshiscos de Eee = Introdugao a0 contol de Bota. a Demonsiando otitameto de eventos € both avs Mais sconces JavaFX 7 Checkon.. “Tene bt 17-1 Use oestde indeterminado de Checkbox. LinvVew.. ‘Tented. Tnurodugzo ans fets e wagsformagoes. Efe i “Trasformayoes.. oo emonsiand os efion ernst © quehi mas? “Tete do Capitulo 17 Respostas dos UsteSniminnnninninennnnnninnnninnnannn 1 Capita: Funlamentos da lingsager fv. sac ‘Captao 2:Introduo as tipos de dos © operadores nn ‘Capito 3: Inrugtes de contoe de programa - (Capt 4: Inrdugi is clases, objets metoos ‘Capito 5: Mais tipos de dao € operadores jaaaroan ‘Captlo 6: Veriicagao miauciosa ds métedos¢ classes. Capt: Herangs : (Capito 8: Pacoteseiterfaes ‘Cape 9 Tratamenta de exces. ‘Capito 10: Usundo UO. ‘Capita 11 Programe com vrs thea. ‘Capita 12: Equmeracoes, sncbecn, inpatients. ‘Captlo 13: Tipos genios.. i ‘Capita 14 Expresso lambda reericia de mato, Capitulo 15: Applets, evento epicos vers, (Captuo 16: Ineducao a Swing. ‘Capitulo 17 Inoue a val, Suméio xv 8 Usando coments de documenta da ngage Ja, exception. (inkertDoe| (ink on [ @linkplaa (value) = : @ version Forma geral de un coment de documenting (que javadoe gerbe Fiemplo que uss coments de documento Indice. Ovete deste livro éensinar os Fundamentos da programayao Java, Ele wsa uma sbordagem paseo a pass complementada por vriosexemplos, ees © proje- tos, emo exigeexpergnca prévia em programasio.O livre comesa comosaspectos basic, como a compilagioe execu de wm program lava e, em seeds, disete as palavra-chave, os recursos e a extrtis que Formam @ miclen da inguagem. ‘Yoo’ também encontrar alguns dos recursos mais svangados de Java incisive & programagio com vias threads eos por genicns. ma intodiso 0 fan tmentos de Swing Java conc o liv. AD terminar, woe ter uma compreensS0 ‘lida dos prineipios bisicos da progrimasio ava "Antes de comecarmos.¢ importante mencionar que ese livro€ apenas um po to deporte, Java mais da que apenas os elementos que dafinem a inguagem ~ela também inclu biblioteease ferramenta extensas que ajudam no desenvolvimento de programas. Para ser um programador Java de primeira lina, ¢ preciso dominar também esas Sreas. pss terminarolivro,voo® ft o canhecimentonecessrio para se aprofndar ems todos ox outros aspects do Java A evolugao de Java “Apensalgmasinguagensrfommlaram de mans fandamental essa da Nek psa ic eee dam pores tiga agate {issn claro qo extmes flan da inguagr ava, No €exagers cer {veo lanameno original de Java |Dem 1985 pela Sun Micronytens, Ie. caso Hi pveigts ot perp, Eas rrchght raetheroe Sr mei el

Você também pode gostar