DÊVIDAS COM LÓGICA DA ESTRUTURA SWITCH

KELLY 28/02/2015 01:28:09
#444847
Olá a todos!
Pessoal, alguém poderia me explicar o porquê que este código em javascript em vez de simplesmente finalizar por não ter nada a fazer no case JAVA ele faz o contrário vai para a case [Ô]C#[Ô]?

var tecnologia = [Ô]java[Ô];
switch(tecnologia){
case [Ô]java[Ô]:
case [Ô]c++[Ô]:
case [Ô]javascript[Ô]:
case [Ô]c#[Ô]:
alert([Ô]linguagem de programação[Ô]);
break;
case [Ô]sqlserver[Ô]:
case [Ô]postgresql[Ô]:
case [Ô]oracle[Ô]:
alert([Ô]banco de dados[Ô]);
break;
default:
alert([Ô]tecnologia não conhecida[Ô]);
}

JABA 28/02/2015 01:44:03
#444848
Não tenho certeza, mas acho que terá que colocar um break em cada case.

exemplo:

switch (new Date().getDay()) {
case 0:
day = [Ô]Sunday[Ô];
break;
case 1:
day = [Ô]Monday[Ô];
break;
case 2:
day = [Ô]Tuesday[Ô];
break;
case 3:
day = [Ô]Wednesday[Ô];
break;
case 4:
day = [Ô]Thursday[Ô];
break;
case 5:
day = [Ô]Friday[Ô];
break;
case 6:
day = [Ô]Saturday[Ô];
break;
LAMPIAO 28/02/2015 07:39:56
#444849
Resposta escolhida
Quando o swich possui como no seu exemplo abaixo
switch(tecnologia){
case [Ô]java[Ô]:
case [Ô]c++[Ô]:
case [Ô]javascript[Ô]:
case [Ô]c#[Ô]:
alert([Ô]linguagem de programação[Ô]);
break;

é o mesmo que dizer, caso a variavel tecnologia seja java, ou c++, ou javascript ou C#, por isso que termina no alert([Ô]linguagem de programação[Ô]) e para ali por causa do break. Se quiser isolar cada caso terá que colocar o break em cada um dos casos, conforme o Jaba explicou.

Abraços

KELLY 11/03/2015 12:34:27
#445153
Obrigada pessoal pelas explicações, deu para entender o problema!

Tópico encerrado , respostas não são mais permitidas