Pensamento Computacional - Switch no Java - Parte 1
Comando switch
Sintaxe e Semântica
O comando switch permite controlar o fluxo de um programa de forma condicional através de cláusulas. O comando testa uma expressão que deve resultar em um número inteiro. Uma sequência de cláusulas case permite executar uma sequência de instruções conforme o valor da expressão. Note que esta sequência de instruções pode ser interrompida por um break.
import java.util.Scanner;
public class ComandoSwitch {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int x = 0, opcao;
System.out.println("Entre com uma opção (número inteiro)");
opcao = teclado.nextInt();
switch(opcao) {
case 1:
System.out.println("Opção 1");
break; /* o break força o encerramento da instrução*/
case 2:
System.out.println("Opção 2");
x=x+1; /* instrução demonstrativa apenas */
break;
case 3:
System.out.println("Opção 3"); /* note o efeito de não ter o break */
case 4:
System.out.println("Opção 4");
break;
case 5:
System.out.println("Opção 5");
break;
default:
System.out.println("Default");
break; /* a opção default é opcional */
}
}
}
Exercício 1
Implementar Um programa java que apresenta um menu com as seguintes condições:
Tecle (1) para desenhar um retângulo cheio Tecle (2) para desenhar um triângulo retângulo Tecle qualquer outro número para sair.
Use o comando switch. Os desenhos podem ser realizados conforme o seu desejo.
Exercício 2
Implementar uma calculadora simples que permite entrar com 2 operandos e uma operação:
(1) Somar (2) Subtrair (3) Multiplicar (4) Dividir (5) Encerrar
Comando switch combinado com caracteres
Um comando switch() pode ser usado com valores inteiros. Notar que o tipo char na realidade é um número inteiro de tamanho pequeno (ver tabela ASCII). Entretanto, no Java pode-se no lugar de um número inteiro que representa uma letra ou símbolo, simplesmente usar o símbolo entre aspas SIMPLES. Veja o exemplo abaixo:
import java.util.Scanner;
public class ComandoSwitchUsoChar {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
char caracter;
System.out.println("Entre com um caracter");
caracter = teclado.next().charAt(0);
switch(caracter) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("vogal");
break;
default:
System.out.println("outra coisa");
break; /* a opção default é opcional */
}
}
}
Olhando na tabela ASCII observa-se qie o caracter 'a' é o número inteiro 65. Então o código acima também poderia ser colocado da forma:
import java.util.Scanner;
public class ComandoSwitchUsoChar {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
char caracter;
System.out.println("Entre com um caracter");
caracter = teclado.next().charAt(0);
switch(caracter) {
case 65:
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("vogal");
break;
default:
System.out.println("outra coisa");
break; /* a opção default é opcional */
}
}
}
=Exercício
Substituir as vogais acima pelos respectivos números inteiros que constam na tabela ASCII.
Comando switch com strings
import java.util.Scanner;
public class SwitchComString {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
String palavra;
System.out.println("Entre com uma string");
palavra = teclado.nextLine();
switch(palavra) {
case "IFSC":
case "IFRS":
System.out.println("É instituto federal");
break;
default:
System.out.println("outra coisa");
break; /* a opção default é opcional */
}
}
}