Olá galera IMP,
Fiz um código de Switch Case e Default em C uma vez no inicio da faculdade e resolvi fazer ele em Java para explicar um pouco sobre Switch.. Não tem muita diferença, das outras

Teoria Basica:

Uma estrutura muito utilizada em programação é o switch. A estrutura switch verifica uma variável e age de acordo com seus cases. Os cases são as possibilidades de resultados que são obtidos por switch.

Basicamente, o switch serve para controlar várias ações diferentes de acordo com o case definido dentro dele.

A estrutura do Switch é:

SWITCH (variável) {
CASE valor :
Código a ser executado caso o valor de case seja o mesmo da variável de switch
}

Então, detalhadamente, switch recebe uma variável e abre um bloco de dados ( { } ), dentro desse bloco de dados há os cases. Cada case recebe um valor único, ou seja, que não pode ser repetido no mesmo bloco de dados. Então, marcamos cada case com dois pontos ( : ). Após os dois pontos colocamos todo código que deverá ser executado que pode conter quantas linhas nós quisermos.

Dica importante: É um bom costume sempre terminar um código após o case com um comando break. Assim, nós evitamos que o resto do código seja executado por acidente. E vale também ressaltar que case não gera resultados booleanos, portanto, não há a possibilidade de fazer comparações (Ex. Isso está totalmente errado-> case var1 > var2.
Default

Como switch pode receber várias possibilidades, pode ocorrer de algum caso estar fora do alcance ou não definido. Nesse momento, default faz seu papel. Default pega qualquer resultado que não esteja definido no case. Ou seja, ele é o bloco de código padrão que deve ser executado quando nenhum case for satisfeito. Podemos coloca-lo onde quisermos dentro de switch , mas, geralmente, o colocamos no final.

Para exemplificar, vamos ver o exercicio feito abaixo.

Exemplo:
Neste programa vamos fazer uma simples calculadora que aceita 2 valores para o calculo de números inteiros.

Código:
import java.util.Scanner; /*Aqui foi incluido à biblioteca Scanner utilizada por mim no caso para uma capturar dados inseridos pelo usuario.*/

public class Calculadora
{
	public static void main(String args[]) /*Inicializando Função Principal*/
	{
		Scanner leitor = new Scanner(System.in); /*Atribuindo à função de leitura à minha variável*/
		int op; /*Declarando variaveis*/
		int t = 0, x = 0, y = 0; /*Declarando variaveis*/
						
		System.out.println("\nDigite uma Opção:\n1(Adição)\n2(Subtração)\n3(Multiplicação)\n4(Divisão)"); /*Lendo Opção*/
		op = leitor.nextInt(); /*Armazenando valor lido para a variável*/
		
		switch (op) /*Iniciando comando switch*/
		{
			case 1: /*Primeira Case do programa (Adição)*/
				System.out.println("\n Digite o Primeiro Valor Para Adição: ");
				x = leitor.nextInt();
		
				System.out.println("\n Digite o Segundo Valor Para Adição: ");
				y = leitor.nextInt();
		
				t = x+y;
		
				System.out.println("\n O Resultado é: "+ t);
			break; /*Parada do caso*/
			
			case 2: /*Segunda Case do programa (Subtração)*/
				System.out.println("\n Digite o Primeiro Valor Para Subtração: ");
				x = leitor.nextInt();
		
				System.out.println("\n Digite o Segundo Valor Para Subtração: ");
				y = leitor.nextInt();
		
				t = x-y;
		
				System.out.println("\n O Resultado é: "+ t);
			break; /*Parada do caso*/
			
			case 3: /*Terceira Case do programa (Multiplicação)*/
				System.out.println("\n Digite o Primeiro Valor Para Multiplicação: ");
				x = leitor.nextInt();
		
				System.out.println("\n Digite o Segundo Valor Para Multiplicação: ");
				y = leitor.nextInt();
		
				t = x*y;
		
				System.out.println("\n O Resultado é: "+ t);
			break; /*Parada do caso*/
			
			case 4: /*Quarta Case do programa (Divisão)*/
				System.out.println("\n Digite o Primeiro Valor Para Divisão: ");
				x = leitor.nextInt();
		
				System.out.println("\n Digite o Segundo Valor Para Divisão: ");
				y = leitor.nextInt();
		
				t = x/y;
		
				System.out.println("\n O Resultado é: "+ t);
			break; /*Parada do caso*/
			
			 default: /*Case de erro se digitar uma opção fora das oferecidas*/
				 System.out.println("\n Opção Invalida!");  
		}
	}
}
Exercício em linguagem Java realizado por [Somente usuários registrados podem vem os links. ](Dorcílio).


Espero que gostem...

Atenciosamente,
João Neto.