Por que a expressao 'default' nao esta sendo avaliada?

3 respostas
faeldix
byte valor = 12;

		switch(valor){
			default : 
				System.out.println("Default Case");
				System.out.println("Any Case Case");
			case 12 : 
				System.out.println("First Case");
				break;
			case 13 : 
				System.out.println("Second Case");
				break;		
		}

output:

rafael@rafael-note:~/Área de Trabalho/OCJP/class$ java -classpath . capitulo01.Main
First Case

mas o resultado nao deveria ser:

???

3 Respostas

A

Se eu não estiver enganado o default pega qualquer resultado que não esteja definido no case. Neste caso como foi definido um case para o valor 12 o resultado esta correto.

R

É prq o default só é chamado quando nenhuma das outras condições passadas dentro do switch são atendidas,
logo se você passou o valor = 12 , e você tem um case 12 ,as outras condições não serão executadas.
Mas pelo que entendi acho você queria testar o comportamento quando não houvesse o break,certo?

faeldix

é isso memso pessoal… tava achando que o default funcionava como o finally do try catch

Criado 15 de fevereiro de 2013
Ultima resposta 15 de fev. de 2013
Respostas 3
Participantes 3