Declaração de switch Java (com exemplos)

Neste tutorial, você aprenderá a usar a instrução switch em Java para controlar o fluxo de execução do seu programa com a ajuda de exemplos.

A switchinstrução nos permite executar um bloco de código entre muitas alternativas.

A sintaxe da switchinstrução em Java é:

 switch (expression) ( case value1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break;… … default: // default statements )

Como funciona a instrução switch?

A expressão é avaliada uma vez e comparada com os valores de cada rótulo de caso .

  • Se houver uma correspondência, o código correspondente após o rótulo do caso correspondente é executado.
    Por exemplo, se o valor da expressão for igual a valor2, o código a seguir case value2:será executado.
  • Se não houver correspondência, o código após default:é executado.

Nota : Podemos fazer a mesma funcionalidade usando o Java if… else… if ladder. No entanto, a sintaxe da instrução switch é mais limpa e muito mais fácil de ler e escrever.

Fluxograma de declaração de switch

Fluxograma da instrução de switch Java

Exemplo 1: instrução switch Java

 // Java Program to check the size // using the switch… case statement class Main ( public static void main(String() args) ( int number = 44; String size; // switch statement to check size switch (number) ( case 29: size = "Small"; break; case 42: size = "Medium"; break; // match the value of week case 44: size = "Large"; break; case 48: size = "Extra Large"; break; default: size = "Unknown"; break; ) System.out.println("Size: " + size); ) )

Produto :

 Tamanho grande

No exemplo acima, usamos a instrução switch para encontrar o tamanho. Aqui, temos um número variável. A variável é comparada com o valor de cada afirmação de caso.

Visto que o valor corresponde ao caso 44 , a variável de tamanho é atribuída com valor Large.

declaração break em Java switch … case

Observe que usamos a breakinstrução em cada bloco de caso. Isso é útil para encerrar a instrução.

Se a breakinstrução não for usada, todos os casos após o caso correspondente serão executados. Por exemplo,

 class Main ( public static void main(String() args) ( int expression = 2; // switch statement to check size switch (expression) ( case 1: System.out.println("Case 1"); // matching case case 2: System.out.println("Case 2"); case 3: System.out.println("Case 3"); default: System.out.println("Default case"); ) ) )

Resultado

 Caso 2 Caso 3 Caso padrão

No exemplo acima, não usamos a breakinstrução. Aqui, a expressão corresponde a case 2.

Você pode ver que, junto com case 2, todos os casos a seguir também são executados.

Esta não é a saída desejada. Portanto, é necessário usar a breakinstrução com cada bloco de caso .

Exemplo 2: Fazendo Calculadora usando a instrução switch

O programa abaixo recebe três entradas do usuário: um operador e 2 números . Com base na operadora fornecida pelo usuário, ele realiza o cálculo nos números. Em seguida, o resultado é exibido na tela.

Antes de prosseguir com o programa, certifique-se de saber sobre o Java Scanner para obter informações do usuário.

 import java.util.Scanner; class Main ( public static void main(String() args) ( char operator; Double number1, number2, result; // create an object of Scanner class Scanner input = new Scanner(System.in); // ask users to enter operator System.out.print("Choose an operator: +, -, *, or /: "); operator = input.next().charAt(0); // ask users to enter numbers System.out.print("Enter first number: "); number1 = input.nextDouble(); System.out.println("Enter second number: "); number2 = input.nextDouble(); switch (operator) ( // performs addition between numbers case '+': result = number1 + number2; System.out.print(number1 + "+" + number2 + " = " + result); break; // performs subtraction between numbers case '-': result = number1 - number2; System.out.print(number1 + "-" + number2 + " = " + result); break; // performs multiplication between numbers case '*': result = number1 * number2; System.out.print(number1 + "*" + number2 + " = " + result); break; // performs division between numbers case '/': result = number1 / number2; System.out.print(number1 + "/" + number2 + " = " + result); break; default: System.out.println("Invalid operator!"); break; ) input.close(); ) )

Produto 1

 Escolha um operador: +, -, * ou /: + Insira o primeiro número: 23 Insira o segundo número: 21 23,0 + 21,0 = 44,0

Produto 2

 Escolha um operador: +, -, * ou /: - Insira o primeiro número: 24 Insira o segundo número: 13 24,0-13,0 = 11,0

Produto 3

 Escolha um operador: +, -, * ou /: * Insira o primeiro número: 12 Insira o segundo número: 6 12,0 * 6,0 = 72,0

Produto 4

 Escolha um operador: +, -, * ou /: / Insira o primeiro número: 36 Insira o segundo número: 6 36,0 / 6,0 = 6,0

Produto 5

Escolha um operador: +, -, * ou /:? Insira o primeiro número: 12 Insira o segundo número: 23 Operador inválido!

No exemplo acima, estamos usando a switch… caseinstrução para realizar adição, subtração, multiplicação e divisão.

Observação : a instrução switch Java funciona apenas com:

  • Tipos de dados primitivos Java: byte, short, char e int
  • Tipos enumerados em Java
  • Java String Class
  • Classes de wrapper Java: caractere, byte, curto e inteiro.

Artigos interessantes...