Pero switch() no opera sobre clases, como sería el caso de String, no recuerdo cual pero marca error al momento de compilar. No sé si es lo que están proponiendo, pero no se puede hacer esto:
String cadena="masculino";
int sexo=0;
switch (cadena)
{
case "masculino":
{
sexo=1;
break;
}
case "femenino":
{
sexo=2;
break;
}
default:
sexo=3; */El código para "default" no necesita "break" por que ya es el final de la estructura. /*
}
Más bien quería mencionarlo por que no lo habían comentado. Es más, yo en algún lugar leí lo mismo que Blizknight, creo que no opera sobre chars pero no estoy seguro, lo checaré.
P.D.: Opps, se me olvidaba, si puedes comparar objetos Switch con la instrucción if sin problemas.
-----------------------------------------------------------------------------------------------
Ya experimenté con los tipos de datos primitivos. Sólo funciona con los tipos enteros (incluido char), con los tipos decimales devuelve un error de posible pérdida de presición (y no me creo la clase), y con booleano (así como con los objetos) me devuelve "tipo de dato incompatible (se requiere int)". Los errores los devuelve en tiempo de compilación.