Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Instrução Switch-Case | Tipos básicos, operações
Noções Básicas de Java
course content

Conteúdo do Curso

Noções Básicas de Java

Noções Básicas de Java

1. Primeiros Passos
2. Tipos básicos, operações
3. Loops
4. Arrays
5. String

bookInstrução Switch-Case

Lidando com Múltiplas Condições Diferentes

Quando temos várias condições a verificar, usar múltiplas cadeias if-else pode não ser conveniente.

Por exemplo:

java

Main

copy
12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the if statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }

Podemos ver que isso não parece limpo e profissional. Para esses casos, o Java oferece a instrução switch-case.

Instrução switch-case

A instrução switch-case é composta por várias partes:

java

Main

copy
12345678
switch(expresion) { case value_1: //code to be executed break; //optional case value_2: //code to be executed break; //optional ............. default: //code to be executed if all cases are not matched }

No código acima, você pode ver que usamos blocos switch para executar operações seletivamente. Nós confiamos na expressão, que é ligeiramente diferente de uma condição. Ali, inserimos um valor ou uma expressão. Por exemplo, 10 / 2. Nesse caso, o bloco case com a assinatura case 5 será executado porque a expressão acima é igual a 5.

Também podemos usar uma condição aqui. Nesse caso, precisamos escrever uma expressão booleana no bloco da expressão, e ela deve parecer algo assim: 10 / 2 == 5. Em seguida, escreva dois cases abaixo:

Mas essa estrutura será quase indistinguível de um if-else.

A Palavra-Chave "break;"

Utilizamos essa palavra-chave para terminar a execução de um comando switch-case e sair do seu corpo. Essa palavra é frequentemente usada em loops, os quais discutiremos nos próximos capítulos. Use essa palavra-chave quando precisar sair de um bloco de código e parar sua execução.

Agora vamos melhorar o código que escrevemos acima usando a instrução switch-case:

java

Main

copy
123456789101112131415161718192021222324
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the switch statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("there is no matching value"); } } }

Podemos ver como o código ficou muito mais limpo e fácil de ler e estender. Não precisamos escrever outra instrução if do zero se precisarmos adicionar condições adicionais. Em vez disso, podemos adicionar outro bloco case à nossa instrução switch-case.

Vamos analisar o esquema do bloco switch-case:

Como podemos ver, podemos ter quantos casos desejarmos. Cada caso requer sua própria condição e código, que será executado quando o nosso programa entrar no bloco case. É aconselhável usar a palavra-chave break; porque o programa não sairá do bloco switch até que todos os blocos case tenham sido executados. O bloco default será executado se não entrarmos em nenhum dos blocos case ou se não utilizarmos a palavra-chave break;.

Vamos agora olhar para outro exemplo sem as palavras-chave break;:

java

Main

copy
1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the switch statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("there is no matching value"); } } }

Recebemos vários valores, que diferem do que esperávamos. Além disso, obtivemos informações dos blocos case 10 e default. É exatamente por isso que usamos a palavra-chave break após cada bloco. Dessa forma, o programa sairá da instrução switch e continuará sua execução.

1. Qual será a saída exibida no console?
2. Para que precisamos da palavra-chave ``break``?
Qual será a saída exibida no console?

Qual será a saída exibida no console?

Selecione a resposta correta

Para que precisamos da palavra-chave ``break``?

Para que precisamos da palavra-chave break?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6
some-alt