14
1 Estruturas de Controle Regis Pires Magalhães [email protected]

Java 04 Estrut Controle

Embed Size (px)

Citation preview

Page 1: Java 04 Estrut Controle

1

Estruturas de Controle

Regis Pires Magalhã[email protected]

Page 2: Java 04 Estrut Controle

2

Estruturas de Controle

➔ Fluxo de controle e repetição Seleção: If-else, switch-case Iteração: while, do-while, for Interrupção: break, continue, rotulos.

Page 3: Java 04 Estrut Controle

3

Estruturas de Controle

➔ Fluxo de controle e repetição if – else

if (expressão) {comandos;

}

if (expressão) { comandos;} else { comandos;}

int idade = 15; if (idade < 18) { System.out.println("Inválida"); } int idade = 15;

if (idade < 18) { System.out.println("Inválida"); } else { System.out.println("OK"); }

Page 4: Java 04 Estrut Controle

4

Fluxo de controle e Repetição

➔ if – else

int idade = 15; boolean amigoDoDono = true; if (idade < 18 & amigoDoDono == false) { System.out.println("Inválido"); } else { System.out.println("OK"); }

int idade = 15; boolean amigoDoDono = true; if (idade < 18 & !amigoDoDono) { System.out.println("Inválido"); } else { System.out.println("OK"); }

Page 5: Java 04 Estrut Controle

5

Estruturas de Controle

➔ Fluxo de controle e repetição if – else

int mes = 1; if (mes == 1) { System.out.println("Janeiro"); }

Page 6: Java 04 Estrut Controle

6

Operadores de Curto Circuito

// Avalia a expr. algumaCoisa if (true | algumaCoisa) { // ... }

➔ && e || Param de verificar as outras condições booleanas

quando percebem que o resultado não mudará mais.

// NÃO avalia a expr. algumaCoisa if (true || algumaCoisa) { // ... }

Page 7: Java 04 Estrut Controle

7

Estruturas de Controle

➔ Fluxo de controle e repetição switch-case

Sintaxe:

switch(seletor inteiro) { case inteiro1 : comandos; break; case inteiro2 : comandos; break; // ... default: comandos; }

Page 8: Java 04 Estrut Controle

8

Estruturas de Controle

➔ Fluxo de controle e repetição While – laço condicional

Itera enquanto a expressão for verdadeira Avalia a expressão antes de iterar Sintaxe:

while (expressão) { comandos; }

int idade = 15; while(idade < 18) { System.out.println(idade); idade = idade + 1; }

Page 9: Java 04 Estrut Controle

9

Estruturas de Controle

➔ Laço contado - for

for (inicializacao; condicao; incremento) { codigo; }

for (int i = 0; i < 10; i++) { System.out.println("olá!"); }

int i = 0; while (i < 10) { System.out.println(“olá!”); i = i + 1; }

Page 10: Java 04 Estrut Controle

10

Estruturas de Controle

➔ Controlando loops break continue

for (int i = x; i < y; i++) { if (i % 19 == 0) { System.out.println(i); break; }}

for (int i = 0; i < 100; i++) { if(i > 50 && i < 60) { continue; } System.out.println(i); }

Page 11: Java 04 Estrut Controle

11

Escopo das variáveis

//aqui a variável i não existe int i = 5; // a partir daqui ela existe while (condicao) { // o i ainda vale aqui int j = 7; // o j passa a existir } // aqui o j não existe mais, // mas o i continua a valer

➔ Nome dado ao trecho de código em que a variável existe e é possível acessá-la. Ao abrir um novo bloco com chaves, as variáveis

declaradas ali só valem até o fim do bloco.

Page 12: Java 04 Estrut Controle

12

Escopo das variáveis

for (int i = 0; i < 10; i++) { System.out.println("olá!"); } System.out.println(i); // cuidado!

int i; for (i = 0; i < 10; i++) { System.out.println("olá!"); } System.out.println(i);

Page 13: Java 04 Estrut Controle

13

Blocos Aninhados

while (condicao) { for (int i = 0; i < 10; i++) { // código } }

Page 14: Java 04 Estrut Controle

14

Referências e Recursos

➔ Livros Apostila Caelum – Java e Orientação a Objetos -

FJ11 Object-Oriented System Development: HTML Edition

http://g.oswego.edu/dl/oosdw3/ Software Engineering (5th Edition) – Ian Sommerville Object-Oriented Analysis and Design with

Applications – Grady Booch Object-Oriented Software Engineering: A Case

Driven Approach – Ivar Jacobson Thinking in Java, 3rd ed. Revision 4.0 – Bruce Eckel

http://www.mindview.net/Books/TIJ/

➔ Web http://www.argonavis.com.br/cursos/java/j100/index.html