Mudanças entre as edições de "Pensamento Computacional - Switch no Java - Parte 1"
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 63: | Linha 63: | ||
=Comando switch combinado com caracteres= | =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). | + | 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: |
<syntaxhighlight lang=java> | <syntaxhighlight lang=java> | ||
Linha 92: | Linha 92: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Olhando na tabela ASCII observa-se que o caracter 'a' é o número inteiro 65. Então o código acima também poderia ser colocado da forma: | ||
+ | <syntaxhighlight lang=java> | ||
+ | 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 97: | ||
+ | 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 */ | ||
+ | } | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Exercício== | ||
+ | |||
+ | Substituir as vogais acima pelos respectivos números inteiros que constam na tabela ASCII. | ||
=Comando switch com strings= | =Comando switch com strings= | ||
+ | |||
+ | Notar que uma string é uma SEQUÊNCIA de caracteres. Mesmo assim, a partir do Java 7, strings podem ser usadas no comando switch. | ||
<syntaxhighlight lang=java> | <syntaxhighlight lang=java> | ||
Linha 119: | Linha 155: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ==Exercício 1 == | ||
+ | |||
+ | Implementar um programa Java, usando switch(), onde será fornecido o dia da semana na forma de uma string: "Segunda", "Terça" etc. O programa deve dizer se é final de semana ou dia de semana. | ||
+ | |||
+ | ==Exercício 2 == | ||
+ | |||
+ | Implementar um programa Java usando switch(), que recebe como entrada uma string com o código da disciplina de ADS e deve então informar se a disciplina é da FASE 1, FASE 2 etc. |
Edição atual tal como às 21h06min de 30 de outubro de 2023
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 que 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 97:
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
Notar que uma string é uma SEQUÊNCIA de caracteres. Mesmo assim, a partir do Java 7, strings podem ser usadas no comando switch.
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 */
}
}
}
Exercício 1
Implementar um programa Java, usando switch(), onde será fornecido o dia da semana na forma de uma string: "Segunda", "Terça" etc. O programa deve dizer se é final de semana ou dia de semana.
Exercício 2
Implementar um programa Java usando switch(), que recebe como entrada uma string com o código da disciplina de ADS e deve então informar se a disciplina é da FASE 1, FASE 2 etc.