Sei sulla pagina 1di 4

Programao Orientada a Objectos

P. Fazendeiro & P. Prata POO - TP03 / 1

JAVA.EstruturasDeControlo.Condicionais

Seleco simples (if) if (condio) Instrues_Se_Condio_Verdadeira

Seleco em alternativa (if/else) if (condio) ISCV else ISCFalsa

Mximo de 3 nmeros (3 estilos) if ((a>b)&&(a>c)) maior = a; else if (b>c) maior = b; else maior = c; if ((a>b)&&(a>c)){ maior = a; }else{ if (b>c){ maior = b; }else{ maior = c; if ((a>b)&&(a>c)) maior = a; else if (b>c) maior = b; else maior = c; } }

http://www.di.ubi.pt/~pprata/poo.htm

Programao Orientada a Objectos


P. Fazendeiro & P. Prata POO TP03 / 4

Seleco mltipla (switch-case) switch (expresso){ case valor1: Instrues1; [break;] ... case valorN: InstruesN; [break;] default: InstruesCasoOmisso; [break;] } O valor da expresso ter de ser inteiro ou carcter (byte, char, short, int, long). A instruo break necessria para que os ramos de instrues no sejam executados sequencialmente. A instruo Switch-case pode ser sempre substituda por um aninhamento de instrues if-else mas... ...o recproco no se verifica!

switch(cAlfaNum){ case A: case E: case I: case O: case U: case a: case e: case i: case o: case u: System.out.println(vogal); ...; break; case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: System.out.println(dgito); ...; break; default: System.out.println(consoante); ...; break; }

http://www.di.ubi.pt/~pprata/poo.htm

Programao Orientada a Objectos


P. Fazendeiro & P. Prata POO TP03 / 4

JAVA.EstruturasDeControlo.Repetitivas Ciclo for for(inicializao; condio_de_continuao; iterao) instrues_a_iterar; A seco de inicializao contm usualmente a declarao! e inicializao da varivel de controlo do ciclo. condio_de_continuao uma expresso booleana avaliada antes de cada iterao e que determina a sada do ciclo logo que o seu valor seja false. O bloco iterao executado aps as instrues_a_iterar e serve usualmente para actualizar o valor da varivel de controlo. Todos os blocos so opcionais: for(;;){...} vlido!

Para que serve o seguinte cdigo? for(int tmp, i=0, j=v.length-1;i<j;++i,--j){ tmp = v[i]; v[i] = v[j]; v[j] = tmp; } for(char i=65; i<= 97; ++i){ System.out.print(i); }

http://www.di.ubi.pt/~pprata/poo.htm

Programao Orientada a Objectos


P. Fazendeiro & P. Prata POO TP03 / 4

Ciclo while while(condio_de_continuao) instrues_a_iterar; O modo de funcionamento muito simples:


enquanto a condio_de_continuao for verdadeira as instrues_a_iterar so executadas.

A seguinte estrutura equivalente ao ciclo for: inicializao; while(condio_de_continuao){ instrues_a_iterar; iterao; } Ciclo do/while do{ instrues_a_iterar; }while(condio_de_continuao) Esta estrutura deve ser executada quando se pretende que as instrues_a_iterar sejam executadas pelo menos uma vez. No final da execuo a condio_de_continuao testada e se o seu valor for false a iterao termina.
Exerccio (folha prtica 2): Faa um programa capaz de gerar uma chave do Totoloto
(6 nmeros inteiros distintos entre 1 e 49). Sugesto: utilize o gerador de nmeros pseudo-aleatrios da classe Math: Math.random(). Este mtodo devolve um valor do tipo double pertencente ao intervalo [0, 1[.
http://www.di.ubi.pt/~pprata/poo.htm

Potrebbero piacerti anche