Duvida basica com switch[RESOLVIDO]

Galera to resolvendo umas questoes e fiz que tinha um switch, daí abri o eclipse e vim fazer uns testes com switch, e me deu uma duvida.

[code]switch(2){

 case 1: 
	 System.out.println("a");
	
	 break;
 
 case 2: 
	 
	 System.out.println("b");
	 
	 break;
 
 case 3: 
	
	 System.out.println("c");
	 
	 break;
 }[/code]

Ta exibindo “a” “b”, como tem break em todos cases nao deveria imprimir somente b nao? Como deveria ser?

Agora fiquei em dúvida tb. Faz sentido não colocar uma variável no testo do Switch? Não deveria ser assim:

int valor = 2; switch (valor) { case 1: System.out.println("O valor foi 01"); break; case 2: System.out.println("O valor foi 02"); break; case 3: System.out.println("O valor foi 03"); break; default: System.out.println("O valor padrão é escolhido aqui"); break; }

Agora, mesmo usando assim do jeito que vc fez retornou só o valor correto. Parou no break.

switch (2) { case 1: System.out.println("O valor foi 01"); break; case 2: System.out.println("O valor foi 02"); break; case 3: System.out.println("O valor foi 03"); break; default: System.out.println("O valor padrão é escolhido aqui"); break; }

Saida:
O valor foi 02

Rapaz…da uma olhadinha direitinho ai…porque… é para imprimir apenas o ‘b’ …porque ele compara… e o que vc esta passando é o numero 2 então.
vai imprimir a letra ‘b’

pois é na eu tb achava que deveria ser so o “b”, e quanto a variavel nao importa passar dois ou á variavel contendo o 2.

fechei e abri o eclipse agora imprimiu so o “b”, sinistro kkk

o switch ele recebe entre o parentes é um numero inteiro então…por isso da certo.

Pois é cara fechei e abri o negocio imprimiu so “b”, achei q tinha algo de errado.