Considere o seguinte exemplo de código Javascript:
var x = 90;
if(x>100)
alert("x > 100");
else if(x > 90)
alert("x > 90");
else if(x > 80)
alert("x > 80");
else if(x > 70)
alert("x > 70");
else
alert("x <= 70");
feio não é?
Agora considere o próximo exemplo:
var x = 90
switch(true) {
case x > 100:
alert("x > 100");
break;
case x > 90:
alert("x > 90");
break;
case x > 80:
alert("x > 80");
break;
case x > 70:
alert("x > 70");
break;
default:
alert("x <= 70");
break;
}
Agradável?
Exemplo ao vivo (Javascript):
http://jsfiddle.net/marcelow/ME9tD/
a mesma ideia também funciona em outras linguagens de programação:
Rubi:
class NiceSwitchCase
def doTheSwitch
x = 90
case true
when x > 100
puts "x > 100"
when x > 90
puts "x > 90"
when x > 80
puts "x > 80"
else
puts "x <= 80"
end
end
end
niceSwitchCase = NiceSwitchCase.new
niceSwitchCase.doTheSwitch
Exemplo ao vivo:
http://runnable.com/me/UwJvTxExgQIsAABE
PHP:
$x = 90;
switch(true) {
case $x > 100:
echo "x > 100";
break;
case $x > 90:
echo "x > 90";
break;
case $x > 80:
echo "x > 80";
break;
case $x > 70:
echo "x > 70";
break;
default:
echo "x <= 70";
break;
}