O comando condicional if
tem a seguinte sintaxe em Java:
if
: a condicao
(uma expressão boolean, verdadeiro ou falso) é verificada. Caso seja verdadeira o //bloco de comandos 01
é executado. Caso não seja, o bloco não será executado.if(condicao){ //bloco de comandos 01 }
if-else
: a condicao
é verificada. Caso seja verdadeira o //bloco de comandos 01
é executado. Caso não seja, o //bloco de comandos 02
será executado.if(condicao){ //bloco de comandos 01 } else{ //bloco de comandos 02 }
if-else-if
: a condicao01
é verificada. Caso a condicao01
seja verdadeira, o //bloco de comandos 01
é executado e a condicao02
não é verificada, nem o //bloco de comandos 02
será executado. Caso a condicao01
não seja verdadeira, a condicao02
será verificada e caso esta seja verdadeira o //bloco de comandos 02
será executado.if(condicao01){ //bloco de comandos 01 } else if(condicao02){ // bloco de comandos 02 }
OBS: Ao contrário de Python, aqui você precisa usar as chaves {}
. NÃO ESQUEÇA.
Se você esquecer ele executará só o primeiro comando do bloco. Estranho né? Este é o pior tipo de erro que você pode encontrar no código. Por que ele não dará erro na compilação nem na execução. Mas o seu código estará errado sem você saber. Evite isso e sempre use chaves.
switch
: Dada uma expressao
que pode ser int
, char
, String
, Enum
, entre outros. A sua expressao
será comparada com cada um dos literais e executará o bloco respectivo. Caso nenhuma comparação resulte em verdadeiro, o bloco do default
será executado.switch(expressao){ case literal01: // bloco de comandos 01 break; case literal02: // bloco de comandos 02 break; case literal03: // bloco de comandos 03 break; default: // bloco de comandos 04 }
while
: a condicao
(uma expressão boolean, verdadeiro ou falso) é verificada. Caso seja verdadeira o //bloco de comandos 01
é executado e o controle volta para o começo do while (e faz a verificação novamente). Caso não seja, o bloco não será executado.while(condicao){ // bloco de comandos 01 // este bloco se repete enquanto a condicao for satisfeita }
do while
: a condicao
o bloco de comando é executado e depois a condição é verificada. Caso seja verdadeira o controle volta para o começo do while (e faz a verificação no final novamente). Caso não seja, o controle não volta.OBS1: a única diferença entre este e o while
é que neste você pode ter certeza de que o bloco será executado na primeira vez, mesmo que a condição seja falsa.
OBS2: perceba que tem um ;
no final do while.
OBS3: este comando não é usado com frequência
do{ // bloco de comandos 01 // este bloco executa uma vez e // se repete enquanto a condicao for satisfeita }while(condicao);
for
: é inicializado com um comandoInicializacao
; repete enquanto a condição
for verdadeira; sempre ao final de cada iteração um comandoRepeticao
é executado.for(comandoInicializacao; condicao; comandoRepeticao){ // bloco de comandos 01 // este bloco se repete enquanto a condicao for satisfeita // ao final o comandoRepeticao é executado }
exemplo:
for(int i=0; i<5; i++){ System.out.println(i); }
saída:
0
1
2
3
4
for-each
: Dada uma coleção (collection
) qualquer, este iterador acessa cada objeto dentro da coleção.for(Type object: collection){ // bloco de comandos 01 usando o objeto object }
exemplos:
class Gato{ String nome; public Gato(String aNome){ this.nome = aNome; } public void miau(){ system.out.println(nome + " mia!") } }
Usando array
como coleção
public static void main(String[] args){ Gato[] gatos = new Gato[3]; gatos[0] = new Gato("Brutus"); gatos[1] = new Gato("Chirriro"); gatos[2] = new Gato("Xitara"); for(Gato gato: gatos){ gato.miau(); } }
usando List
como coleção
public static void main(String[] args){ List<Gato> gatos = new ArrayList<>(); gatos.add(new Gato("Brutus")); gatos.add(new Gato("Chirriro")); gatos.add(new Gato("Xitara")); for(Gato gato: gatos){ gato.miau(); } }
saída em ambos os programas:
Brutus mia!
Chirriro mia!
Xitara mia!
Existe muito mais material sobre estes assuntos, alguns serão colocados nesta página, outros serão dados em aula, e outros estão nos livros da ementa.