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

Conteúdo do Curso

Fundamentos de Java

Fundamentos de Java

1. Introdução
2. Tipos Básicos e Operações
3. Laços
4. Arrays
5. String

book
Instrução Switch-Case

Lidando com múltiplas condições diferentes

Quando há muitas condições a serem verificadas, utilizar várias cadeias de 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 the 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 perceber que isso não parece limpo nem 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
123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

No código acima, é possível observar o uso de blocos switch para executar operações de forma seletiva. Utiliza-se a expressão, que é um pouco diferente de uma condição. Nesse campo, insere-se um valor ou uma expressão. Por exemplo, 10 / 2. Neste caso, o bloco case com a assinatura case 5 será executado, pois a expressão acima resulta em 5.

Também é possível utilizar uma condição aqui. Para isso, é necessário escrever uma expressão booleana no bloco de expressão, que deve se parecer com: 10 / 2 == 5. Em seguida, escreva dois cases abaixo:

java

No entanto, essa estrutura será quase indistinguível de um if-else comum.

A palavra-chave "break"

Utiliza-se essa palavra-chave para encerrar a execução de uma instrução switch-case e sair de seu corpo. Essa palavra é frequentemente utilizada em laços, que serão abordados nos próximos capítulos. Utilize essa palavra-chave quando for necessário sair de um bloco de código e interromper sua execução.

Agora, vamos aprimorar o código que escrevemos acima utilizando a declaraçã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 the 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 observar como o código ficou muito mais limpo e fácil de ler e expandir. Não é necessário escrever outra declaração if do zero caso seja preciso adicionar novas condições. Em vez disso, basta adicionar outro bloco case à nossa switch-case statement.

Vamos analisar o esquema do bloco switch-case:

Como podemos ver, pode haver quantos casos quisermos. Cada caso exige sua própria condição e código, que serão executados quando o programa entrar no bloco do caso. É recomendável utilizar a palavra-chave break, pois o programa não sairá do bloco switch até que todos os blocos de caso tenham sido executados. O bloco default será executado se não entrarmos em nenhum dos blocos de caso ou se não utilizarmos a palavra-chave break.

Vamos analisar 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 the 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. O que será exibido no console?

2. Por que precisamos da palavra-chave break?

question mark

O que será exibido no console?

Select the correct answer

question mark

Por que precisamos da palavra-chave break?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6

Pergunte à IA

expand
ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

course content

Conteúdo do Curso

Fundamentos de Java

Fundamentos de Java

1. Introdução
2. Tipos Básicos e Operações
3. Laços
4. Arrays
5. String

book
Instrução Switch-Case

Lidando com múltiplas condições diferentes

Quando há muitas condições a serem verificadas, utilizar várias cadeias de 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 the 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 perceber que isso não parece limpo nem 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
123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

No código acima, é possível observar o uso de blocos switch para executar operações de forma seletiva. Utiliza-se a expressão, que é um pouco diferente de uma condição. Nesse campo, insere-se um valor ou uma expressão. Por exemplo, 10 / 2. Neste caso, o bloco case com a assinatura case 5 será executado, pois a expressão acima resulta em 5.

Também é possível utilizar uma condição aqui. Para isso, é necessário escrever uma expressão booleana no bloco de expressão, que deve se parecer com: 10 / 2 == 5. Em seguida, escreva dois cases abaixo:

java

No entanto, essa estrutura será quase indistinguível de um if-else comum.

A palavra-chave "break"

Utiliza-se essa palavra-chave para encerrar a execução de uma instrução switch-case e sair de seu corpo. Essa palavra é frequentemente utilizada em laços, que serão abordados nos próximos capítulos. Utilize essa palavra-chave quando for necessário sair de um bloco de código e interromper sua execução.

Agora, vamos aprimorar o código que escrevemos acima utilizando a declaraçã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 the 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 observar como o código ficou muito mais limpo e fácil de ler e expandir. Não é necessário escrever outra declaração if do zero caso seja preciso adicionar novas condições. Em vez disso, basta adicionar outro bloco case à nossa switch-case statement.

Vamos analisar o esquema do bloco switch-case:

Como podemos ver, pode haver quantos casos quisermos. Cada caso exige sua própria condição e código, que serão executados quando o programa entrar no bloco do caso. É recomendável utilizar a palavra-chave break, pois o programa não sairá do bloco switch até que todos os blocos de caso tenham sido executados. O bloco default será executado se não entrarmos em nenhum dos blocos de caso ou se não utilizarmos a palavra-chave break.

Vamos analisar 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 the 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. O que será exibido no console?

2. Por que precisamos da palavra-chave break?

question mark

O que será exibido no console?

Select the correct answer

question mark

Por que precisamos da palavra-chave break?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt