Aula de Java

download Aula de Java

of 57

Transcript of Aula de Java

  • 8/17/2019 Aula de Java

    1/57

    Introdução à Orientação a Objetos

    Prof. Ricardo Linden

  • 8/17/2019 Aula de Java

    2/57

    História das LPOO

    • Simula 67:  Encapulamento em uma de!inição de "cla#• Smalltal$-%&:  'ero( PA)*: Primeira linguagem +erdadeiramente

    orientada a objeto ,Alan a./

    • *00: Primeira linguagem OO amplamente aceita ,inicialmente eraapena um pr-proceador/

    • *00 Ada34 5odula- *OS: acrecentaram orientação a objeto aetrutura pr-e(itente

    • 8a+a:  5odelo de objeto deri+ado do *00 impli!icado emel9orado

  • 8/17/2019 Aula de Java

    3/57

    Programação OO X Procedural

    • A orientação a objeto muda o !oco da programação do algoritmo para a etrutura de dado:  A organi;ação lue a ele ão aplicada

      "?ipo de dado# agora et@ embutido no conceito de "clae#

    5ai perto da !orma como penamo no "mundo real#

  • 8/17/2019 Aula de Java

    4/57

    Conceitos !sicos da Orientação a Objetos

      Para podermo começar a noa aula n

  • 8/17/2019 Aula de Java

    5/57

    Objeto

    • m pacote de o!t=are >ue contm uma coleção de procedimentoe dado relacionadoF

    • m objeto repreenta um item unidade ou entidade ,real ou

    abtrata/ indi+idualmente epar@+el com um papel bem de!inidono domGnio do problemaF

    • m objeto como um ubtanti+o pode er uma peoa local ouobjeto   baicamente >ual>uer conceito >ue eja aplic@+el ao

     projeto do itemaF

  • 8/17/2019 Aula de Java

    6/57

    Classe

    • m padrão >ue de!ine o mtodo e caracterGtica >ue erãoincluGdo em um tipo particular de objetoF

    • ma clae uma de!inição geral do atributo e mtodo deum conjunto de objetoF

    • E(emplo: Cliente, Veículo, Conta Corrente, Documento, Reserva

    • *ada uma deta clae repreenta uma rie de caracterGticacomun:  

    dados, como placa do veículo   ações, como ligar o veículo

  • 8/17/2019 Aula de Java

    7/57

    Inst"ncia

    • Outro nome para um objeto >ue pertença a uma clae particularF

    • Huando uma aplicação et@ e(ecutando objeto ão intanciadode uma clae e tornam-e então intCncia deta claeF

    • E(emplo- Ticket No. 00-!"#$ repreenta um objeto ,intCncia/ da clae%Reserva&.

    - %'eu (us)uin*a& repreenta uma intCncia da clae %Veículo&

  • 8/17/2019 Aula de Java

    8/57

    #$todo

    • m procedimentoI!unção dentro de um objetoF• 5todo ão açJe >ue uma clae ou objeto !a; e incluem a

    l

  • 8/17/2019 Aula de Java

    9/57

    %tributos &s. #$todos

    • Atributo de!inem o dado en>uanto o mtodo de!inem a!uncionalidadeF

    • Atributo ão de!inido por eu nome e tipo ,por e(emplointeger, string, date/F

    • 5todo ão de!inido ecre+endo o c

  • 8/17/2019 Aula de Java

    10/57

    'nca(sulamento

    • ma tcnica no >uai o dado etão encapulado junto comeu procedimento correpondente

    • Encapulamento econde tanto o mtodo >uanto o atributo domundo e(teriorF

    • Kiibilidade: Public Pri+ate Protected e Pac$age-le+elF   Pri+ate: Somente membro da clae podem acear a propriedadeImtodo

       Protected: Somente membro da clae e ubclae ,clae decendente/ podem acear a propriedadeImtodo

       Public: ?oda a clae podem acear a propriedadeImtodo   Pac$age e+el : ?odo a clae do memo pac$age coneguem acear a

     propriedadeImtodo

    Kamo dicutir mai detal9adamente mai L !rente

  • 8/17/2019 Aula de Java

    11/57

    #ensagem

    • m inal >ue um objeto manda para outro >ue pede >ue o objeto >uerecebe o inal e(ecute um de eu mtodoF

    • *omo reultado do encapulamento mandar menagen e torna o

    mecanimo de comunicação entre objeto >ue interagemF• m !ormato geral de menagem tem o eguinte !ormato:+ect.mtodo/parmetros1

    • E(emplo: in+oiceFcalcular?otal , /

  • 8/17/2019 Aula de Java

    12/57

    )ub*Classe

    • ma clae >ue um cao epecial de outra claeF

    • Sub-clae tambm con9ecida como clae !il9a en>uanto >ue auper-clae tambm c9amada de clae pai ou mãeF

    • Sub-clae ão epeciali;açJe da uper-clae e ão criada +ia*erança

    • E(emplo:

      m pediata um cao epecial de mdico

      m carro um cao epecial de +eGculoF

  • 8/17/2019 Aula de Java

    13/57

    Herança

    • Em OO e(ite um relacionamento "B-a# entre clae   E(emplo : aluno-oF-perGodo i-a aluno i-a peoa

    • *lae deri+ada ão c9amada de ubclae ,memo >ue normalmente ejammaiore/

    • Pode 9a+er 9erança imple e mMltiplia• *lae bae abtrata:

       *lae não tNm intCncia reai ,objeto/   Subclae tNm >ue implementar algun mtodo   E(F : clae +eGculoautomotor com o mtodo abtrato ligarF ão e(item objeto

    deta clae >ue uma clae bae abtrataF A clae carro e moto 9erdam a propriedade deta clae e implementam o mtodo ligarF

  • 8/17/2019 Aula de Java

    14/57

    Hierar+uia de Classes

    • Classes (odem ser organi,adas em -ierar+uias de forma+ue classes mais es(ecficas -erdem m$todos de classesmais abstratas

    • Qiagrama de 9ierar>uia de clae

    *lae: *adeira

    ubclae

    *adeira de Ecrit

  • 8/17/2019 Aula de Java

    15/57

    %bstração

    • o proceo de capturar o comportamento eencial ecaracterGtica e coloc@-la de uma !orma con+eniente paraorgani;ar a 9ierar>uia de claeF

    • E(emplo:   KeGculo ,Sub-clae: ?erretre 5arin9o e Areo/

    • *lae abtrata nunca ão intanciada   QecorrNncia da ua nature;a genrica

       E(emplo : ada um "+eGculo# genericamente ma im um +eGculo

    terrete marin9o ou areoF

  • 8/17/2019 Aula de Java

    16/57

    )obrecarga

    • #esmo nome/ mas n0mero ou ti(o de (ar"metros diferentes.

    • Para sobrecarregar uma função/ basta declarar os &!rios ti(os +ueela (ode ter.

    • '1em(lo 2 classe carro/ m$todo frear.   Se receber um parCmetro indica a !orça >ue temo >ue aplicar no pedalF

       Se não receber nen9um parCmetro indica >ue temo >ue parar o carroF

    • 3amb$m $ a(lic!&el a o(eradores

    • '1em(lo2 o(erador 42 0 ,adição inteira/

    F2 0 2F4 ,adição real/

  • 8/17/2019 Aula de Java

    17/57

    Polimorfismo

    • Econder procedimento alternati+o por tr@ de uma inter!ace comumF

    • Polimor!imo +em do grego e igni!ica "muita !ormaF#

    • Bto permite >ue e ten9a uma inter!ace comum >ue econde detal9e deimplementação

    • E(emplo : mtodo !rearF   ?em uma implementação na clae bae ,carro/F

       ?em outra implementação na clae !il9a ,!errari/F

    • A !unção da clae !il9a e obrepJe ,overrides/ L da clae mãe

  • 8/17/2019 Aula de Java

    18/57

    Polimorfismo )obrecarga

    • *om polimor!imo nual do mtodo er@uado em tempo de e(ecução ,e(emplo claro de bindingdinCmico/F

    • *om obrecarga podemo decidir >ual do mtodo er@uado em tempo de compilação ditinguindo pelo

     parCmetro paadoF   O proceo de ecol9a da !unção correta pelo compilador c9amado

    de reolução de obrecarga ,o+erload reolution/

  • 8/17/2019 Aula de Java

    19/57

    Programas 5a&a

    • Programa 8a+a conitem em clae >ue ão !ormada poratributo e mtodo >ue reali;am tare!a e retornam in!ormaçJe>uando apropriadoF

    • Bto para !a;er eu programa 8a+a +ocN precia deen+ol+erclae >ue c9amarão outra clae e aim por dianteF

    • ogo preciamo aprender como deen+ol+er noa prue poamo implementar oluçJe para noo problemaF

  • 8/17/2019 Aula de Java

    20/57

    Programando OO em 5a&a

    • O nMcleo da P pe>ueno ma e(item +@ria biblioteca de clae>ue !ornecem +@ria !uncionalidade adicionai para a PF

    • Em 8a+a uamo uma abordagem de bloco de contruçãoreutili;ando o o!t=are j@ e(itenteF Bto !ar@ com >ue:    Seu programa ten9am mel9or deempen9o poi normalmente a clae pr-

     programada ão mai otimi;ada do >ue o eu cue ão incluGdo em praticamente toda a implementaçJe do 8a+a   KocN economi;e tempo de programaçãoF

  • 8/17/2019 Aula de Java

    21/57

    % Linguagem de Programação 5a&a

    • Onde encontrar informação   In&entada (ela )un #icros6stems

       -tt(277ja&a.sun.com

    • O código 5a&a $ com(ilado (ara um código de n&el m$dio 8b6te code9/ +ue $inde(endente de m!+uina e (recisa então ser inter(retedado (or um

    inter(retador 5a&a.

    *ui+o *la8a+a

    Bnterpretador 8a+a E(ecutar 

    Programa

    E(ecutar Programa

  • 8/17/2019 Aula de Java

    22/57

    'ditando seus (rogramas

    • m ar>ui+o !onte 8a+a 1&&U te(to puroF

    • KocN pode edit@-lo uando >ual>uer editor de te(to de ua pre!erNncia ,notepad +i emac edit etc/F

    • E(item ambiente BQE como etbean ,ecrito em 8a+a egratuito para uo não comerciai/ 8builder Kiual *a! e oKiual 800

    • O ar>ui+o !onte de+em ter e(tenão Fja+a

  • 8/17/2019 Aula de Java

    23/57

    •  8a+a uma linguagem de !ormato li+roF Bto >uer di;er >ue nãoneceitamo de epaço em branco identação ou pulo de lin9a

     para >ue o compilador entenda noo c

  • 8/17/2019 Aula de Java

    24/57

    re&e introdução ao 5a&a

    • Kamo +er agora doi e(emplo >ue no permitirão ter uma idiade como programar em 8a+aF

    • Entretanto +@rio conceito erão omitido nete momentoF

    •  ão 9@ moti+o para etree ou para começar a penar em detruireu computador - n

  • 8/17/2019 Aula de Java

    25/57

    Primeiro '1em(lo em 5a&a

    IIEte o noo primeiro e(emplo em 8a+a public cla DelloWorld X

     public tatic +oid main ,StringYZ arg/X

    S.temFoutFprintln,[Dello WorldV[/\]

    ]

     

  • 8/17/2019 Aula de Java

    26/57

    Conceitos &istos no e1em(lo

    • II  São iniciadore de coment@rio em uma lin9a ,como no *00/F

    • Em 8a+a tambm podemo ter coment@rio delimitado por I^ e ^Icomo no *F

    • O coment@rio marcado por II ão pre!erG+ei por poderem erlido pela !erramenta ja+adoc >ue +eremo nete curo e ti+ermotempoF

     ão 9@ neceidade de correr com a matria ma 9@muito para e +er em 8a+aF ogo >uanto mai adiante!ormo mai +ocN aprenderãoF

  • 8/17/2019 Aula de Java

    27/57

    •  public cla DelloWorld   Eta lin9a uma de!inição de claeF   ?odo programa em 8a+a conite em uma ou mai classes de2inidas pelo

     programador  ,ou pelo uu@rio/F

       A pala+ra c9a+e class  introdu; uma de!inição de clae em 8a+a e

    imediatamente eguida pelo nome da classeF   ota importante:O nome da clae egue um identi!icador 

    A pala+ra c9a+e em 8a+a ão pala+ra reer+ada

    8a+a !a; di!erenciação entre maiMcula e minMcula ,DelloWorld ≠ Dello=orld/

    Conceitos &istos no e1em(lo

  • 8/17/2019 Aula de Java

    28/57

    •  public cla DelloWorld   public um modi!icador de +iibilidade

      ?oda clae public de+e etar gra+ada em um ar>ui+o cujonome o memo da clae ,nete cao DelloWorldFja+a/

      Aim não podemo ter dua clae public no memoar>ui+oF

     Kamo +er como contornar ito mai a !renteF

      ?odo ar>ui+o ja+a de+e terminar com a e(tenão Fja+a

    Conceitos &istos no e1em(lo

  • 8/17/2019 Aula de Java

    29/57

    • X ]   O bloco de comando ão de!inido pela c9a+e como no * e no *00   KocN notarão muito ponto em comum entre o 8a+a e eta linguagenF

    •  public tatic +oid main ,StringYZ arg/   ?odo aplicati+o 8a+a de+e ter um mtodo main onde ele iniciadoF   Se não ti+er o interpretador 8a+a não e(ecutar@ a ua claeF

       *omo no * a pala+ra c9a+e +oid indica >ue o mtodo não retorna nen9um+alorF

    Conceitos &istos no e1em(lo

  • 8/17/2019 Aula de Java

    30/57

    •  public tatic +oid main ,StringYZ arg/   O public um modi!icador de +iibilidade ,!a; o mtodo er pMblico/F   O tatic di; >ue o mtodo pertence L clae e não ao eu objeto

    Conceitos &istos no e1em(lo

    Kamo +er ete conceito commai detal9e mai adianteV

  • 8/17/2019 Aula de Java

    31/57

    • S.temFoutFprintln,[Dello WorldV[/\   S.temFout o oeto de saída padr3o

       Ele permite ao aplicati+o 8a+a ecre+er na janela de comando a partir do>ual o aplicati+o 8a+a e(ecutadoF

       O mtodo println imprime uma lin9a colocando um *)T no !imF

       O mtodo print !a; o memo < >ue em o *)T O caractere de ecape _n _t etcF >ue con9ecGamo do print! tambm +alem

     para o print e para o printlnF

    Conceitos &istos no e1em(lo

  • 8/17/2019 Aula de Java

    32/57

    Como com(ilar o código usando 5:;<

    5anela #)*:O)

    O ar+ui&o fonte

    =.ja&a> de&e sem(reter esta e1tensão

    '1ecutando ocom(ilador

    %r+ui&o=.class>gerado

  • 8/17/2019 Aula de Java

    33/57

    %(licati&os 5a&a

    • E(item doi tipo de programa 8a+a:  Aplicati+o : programa emel9ante a proceador de te(to planil9a etcF >ue

    normalmente ão arma;enado e e(ecutado localmenteF

    ão carregado na memueno >ue normalmente ão arma;enado em um

    computador ao >ual o uu@rio e conecta remotamente +ia =ebF

    São carregado e e(ecutado +ia applet+ie=er e preciam er c9amado

    atra+ de uma p@gina 9tmlF

  • 8/17/2019 Aula de Java

    34/57

    Como e1ecutar o código<

    '1ecutando o

    inter(retador5a&a

    )ada do(rograma et$rmino

  • 8/17/2019 Aula de Java

    35/57

    Im(ortante

    •O diretue n

  • 8/17/2019 Aula de Java

    36/57

    )egundo e1em(lo

    IIEte o noo egundo e(emplo em 8a+aimport ja+a(F=ingF8OptionPane\

     public cla DelloWorldX

     public tatic +oid main ,StringYZ arg/X

      8OptionPaneF9o=5eageQialog,null  [Dello WorldV[/\

      S.temFe(it,&/\]] 

  • 8/17/2019 Aula de Java

    37/57

    Conceitos &istos neste e1em(lo

    • im(ort ja&a1.s?ing.5O(tionPane@   Eta intrução er+e para identi!icar e carregar clae re>uerida para

    compilar um programa ja+aF

       E(item muita clae pronta em 8a+a como a clae S=ing >ue contmelemento >ue no ajudam a de!inir inter!ace gr@!ica com o uu@rioF

       E(item elemento para di@logo botJe janela etcF

    Se ti+ermo tempo +eremo tambm a inter!acegr@!ica ao !im dete curoF 5a não +amo corrermai por caua ditoV

  • 8/17/2019 Aula de Java

    38/57

    iblioteca de classes

    • Ama biblioteca de classes $ uma coleção de classes +ue (odemosusar +uando desen&ol&emos (rogramas.• '1iste uma biblioteca padrão de classes Java +ue $ (arte de

    +ual+uer ambiente de desen&ol&imento 5a&a

    • 'stas classes não são (arteda linguagem 5a&a (er se/ mas nósnos baseamos bastante nelas.

    A biblioteca de clae 8a+aão e>ui+alente L biblioteca do *

  • 8/17/2019 Aula de Java

    39/57

    • B!rias classes +ue usaremos/ como a System  e a String são(arte da biblioteca (adrão de classes 5a&a• Outras bibliotecas de classes (odem ser ad+uiridas com

    fabricantes de soft?are ou criadas (or &oc mesmo.

    iblioteca de classes

     ão eja teimooVQeen+ol+er no+amente clae j@ e(itente implemente tolice - caua erro e perda de

     per!ormanceV

  • 8/17/2019 Aula de Java

    40/57

    Pacotes

    • %s classes da biblioteca (adrão 5a&a são organi,adas em(acotes.

    • %lguns dos (acotes da biblioteca (adrão são2

    Pacote

    java.lang

    java.applet

    java.awt

    javax.swing

    java.netjava.util

    Pro(ósito

    )u(orte gen$ricoCriar a((lets (ara a ?ebInterfaces gr!ficas e gr!ficosCa(acidades e com(onetes gr!ficos adicionais

    Comunicação em redeAtilidades &ariadas

  • 8/17/2019 Aula de Java

    41/57

    % declaração im(ort

    • Duando +ueremos usar uma classe de um (acote/ (ode usar seunome totalmente qualificado

    java.util.Random 

    • Outra o(ção $ im(ortar a classe/ e de(ois usar o nome da classe2import java.util.Random;

    • Para im(ortar todas as classes em um (acote es(ecfico/ &oc

    (ode usar o caracter curinga E

    import java.util.*;

  • 8/17/2019 Aula de Java

    42/57

    • 3odas as classes do (acote java.lang  são automaticamente

    im(ortadas em nossos (rogramas• F (or isto +ue não (recisamos de um im(ort no (rimeiro

    e1em(lo.

    % declaração im(ort

     ão nece@rio etourar a cabeçatentando entender a !undo agora oconceito de clae e pacoteF

  • 8/17/2019 Aula de Java

    43/57

    Conceitos &istos neste e1em(lo

    • )6stem.e1it8G9@  Eta intrução er+e para !inali;ar o noo programaF

      ?odo programa com inter!ace gr@!ica precia er !inali;ado deta!orma para >ue termine corretamenteF

      *ao não o !açamo noa janela de comando não +oltar@ a!uncionar corretamenteF

  • 8/17/2019 Aula de Java

    44/57

    Pergunta ra,o!&el

    Se eu precio importar um ar>ui+o para uar a clae8OptionPane por>ue não precio importar uma

    clae para uar a clae S.tem e eu objeto out`

  • 8/17/2019 Aula de Java

    45/57

    Res(osta

    A clae S.tem parte do pacote ja+aFlangembre-e >ue ete pacote padrão importado

    automaticamente em todo programa 8a+a

  • 8/17/2019 Aula de Java

    46/57

    3erceiro e1em(loimport ja+a(F=ingF8OptionPane\

     public cla Soma1 X public tatic +oid main ,StringYZ arg/

    X  int n1n2oma\

    String 12\18OptionPaneF9o=BnputQialog,"Prim umF :[/\28OptionPaneF9o=BnputQialog,"SegF umF :[/\n1BntegerFpareBnt,1/\n2BntegerFpareBnt,2/\oman10n2\

      8OptionPaneF9o=5eageQialog,null"A oma #0oma/\  S.temFe(it,&/\]

  • 8/17/2019 Aula de Java

    47/57

    Conceitos &istos neste e1em(lo

    • im(ort ja&a1.s?ing.5O(tionPane@   Eta intrução er+e para identi!icar e carregar clae re>uerida paracompilar um programa ja+a in!ormando ao compilador onde pode encontr@-la ,no cao no diretui+o denominadoSoma1Fja+a

       A c9a+e indica o começo do bloco de de!iniçJeF ão e>ueça >ue ela tem>ue er !ec9ada >uando ete terminarF

  • 8/17/2019 Aula de Java

    48/57

    Conceitos &istos neste e1em(lo

    QeclaraçJe de +ari@+ei   *omo em toda a linguagen compilada preciamo declarar a +ari@+ei

    >ue uamoF

       QeclaraçJe conitem do tipo da +ari@+el eu nome e um ponto-e-+GrgulaF

       Se ti+ermo mai de uma +ari@+el do memo tipo podemo coloc@-la namema declaração eparada por +GrgulaF

       boa pr@tica de programação dar para a +ari@+ei nome decriti+o da ua+erdadeira !unçãoF

  • 8/17/2019 Aula de Java

    49/57

    Conceitos &istos neste e1em(lo

    •int n/nJ/soma@   Etamo declarando +ari@+ei do tipo inteiroF   E(item outro tipo numrico para arma;enar nMmero racionai ,!loat e

    double/F

    • )tring s/sJ@   Etamo declarando objeto da clae StringF

    *omo diemo ante não +amo no apro!undar noconceito de 8a+a nete momentoF 5ai a !rente n

  • 8/17/2019 Aula de Java

    50/57

    Conceitos &istos neste e1em(lo• sK5O(tionPane.s-o?In(ut:ialog8>Prim um. 2M9@ 

       Etamo uando um mtodo da clae 8OptionPane >ue reali;a uma entrada dedadoF

       Ete mtodo retorna uma tringF

    • nKInteger.(arseInt8s9@   8a+a uma linguagem muito mai rigoroamente tipada do >ue o *F

       ão poG+el reali;ar t.pecating autom@tico na maioria do caoF

       ?emo >ue c9amar uma !unção ,no cao um mtodo da clae Bnteger/ para poder con+erte a tring entrada na intrução anterior em um inteiro para

    reali;armo a omaF E(ite o tipo int e a clae Bnteger >ue

    denominada uma "=rapper cla# do

    tipoF 5ai L !rente +eremo ito com

    detal9eF

  • 8/17/2019 Aula de Java

    51/57

    Duarto e1em(loimport ja+a(F=ingF8OptionPane\

     public cla 5a(1 X public tatic +oid main ,StringYZ arg/

    X  int n1n2ma(\

    n1BntegerFpareBnt,8OptionPaneF9o=BnputQialog,"Prim umF :[//\n2BntegerFpareBnt,8OptionPaneF9o=BnputQialog,"Seg umF :[//\i! ,n1n2/ X

    ma(n1\] ele X

    ma(n2\

    ]  8OptionPaneF9o=5eageQialog,null"O m@(imo #0ma(/\

      S.temFe(it,&/\]

    ]

     

  • 8/17/2019 Aula de Java

    52/57

    • if 8nNnJ9    O if $ uma statement condicional/ +ue (ermite +ue tomemos

    decises7escol-amos um curso de ação em nossos (rogramas.

       % statement if tem o seguinte formato2i!  8condição9 statement ele statementJ

       onde2condição $ uma e1(ressão booleana 8lógica9

    statement $ e1ecutada se a condição $ a&aliada como &erdadeira.

    statementJ $ e1ecutada se a condição $ a&aliada como falsa.

       % cl!usula ele $ o(cional

    Conceitos &istos neste e1em(lo

    A tatement1 e a tatement2 podem er ubtituGda por um bloco de tatement ma nete cao não podemo e>uecer da c9a+e em torno dete blocoF

  • 8/17/2019 Aula de Java

    53/57

    Duinto '1em(loimport ja+a(F=ingF8OptionPane\

     public cla 5a(1 X public tatic +oid main ,StringYZ arg/

    X  int ioma\

    i1\oma&\=9ile ,i1&/ X  oma0BntegerFpareBnt,8OptionPaneF9o=BnputQialog,"um :[//\  i00\]

      8OptionPaneF9o=5eageQialog,null"A oma #0oma/\  S.temFe(it,&/\]

  • 8/17/2019 Aula de Java

    54/57

    Conceitos &istos neste e1em(lo

    • ?-ile 8iKG9    )tatements de re(etição nos (ermitem re(etir açes dentro de nossos

    (rogramas

       '1istem trs ti(os de estruturas de re(etição em 5a&a!or  statement

    do statement

    =9ile statement

    *ompromio:

    Keremo todacom cuidado depoiV

  • 8/17/2019 Aula de Java

    55/57

    • O comando =9ile permite >ue um tatement ,ou bloco detatement/ eja repetido at >ue uma determinada condição eja+erdadeiraF

    • Tormato geral:

       =9ile,condition/X tatement,/ ]• Onde:

       condição uma e(preão booleana

       a,/ tatement,/ endo repetida alteram o +alor da condição para !ale emalgum momento

    Conceitos &istos neste e1em(lo

    d 9il

  • 8/17/2019 Aula de Java

    56/57

    *omportamento do =9ile

    •  a primeira +e; >ue o loop e(ecutado a condição a+aliadaF Se

    ela !or !ala não e e(ecuta a tatement dentro do loop nen9uma+e;F

    • Se !or +erdadeira e(ecutam-e toda a tatement do loop e +olta-e para o começo para a+aliar a condição no+amenteF

    • Ete pao repetido at >ue a condição eja !alaF

    Bto implica >ue a tatement podem e(ecutar >ual>uernMmero de +e;e ,de ;ero a in!initoV/

    i

  • 8/17/2019 Aula de Java

    57/57

    Qim da aula

    8@ temo uma boa introduçãoF

    5el9orem-na !a;endo o e(ercGcioV