Programación General > Java

 Sobre Switch ..... Principiante Xd

(1/2) > >>

Blizknight:
Hola a todos bueno .. leyendo un poco de switch .... no se si lo entendi bien .... pero switch solo trabaja con valores  numericos ??
o sea

   
--- Código: Text ---switch(sexo){      case 1:        cat = "mujer";        break;      case 0:        cat ="hombre";                                           } 
alguien me ayuda a entender esto ... mas claro ... o sea si se como usarlo solo que en lo que lei solo me daban ejemplos como una casilla donde se pone un numero .... y si el numero es 2 me sale febrero.. si es 3 marzo y asi sucesivamente. ... es un poco mas limitado que el if ??? .. que otras cosas mas puedo hacer ??? no es lo mismo que un else if ???
saludos

jotaBKM:
hola:  :D

el switch te compara un tipo de variable ya sea int, String.length ,etc...
los case se refieren a que en caso de que la variable que estas evaluando sea verdadero se ejecutara y puedes salir de el con un break ... ademas el switch tiene un default que hace que si ninguno de los posibles case se ejecuten ejecutara el default ... me parec q lo puedes usar como excepcion aunque na q ver con excepcion ...

eso me imagino que querias... saludos

  :smartass:  :smartass:  :smartass:

Blizknight:
sip ya ta mas claro tambien puedo igualar el case asi ?:


--- Código: Text ---switch(sexo){      case masculino:        cat = "a";        break;      case femenino:        cat ="b";           

Masiosare:
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:



--- Código: Text ---         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é.

 :hola:


   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.

 :comp:

Blizknight:
bueno creo que ya entendi ... yo queria poner algo asi .... si el case era tal palabra ... que haga lo sgt XD... pero con eso creo que no se puede ....

** 1 **por cierto para extraer un dato string ... seria .... datos = dato.getText();
.. soy principieante XD :hola:  :P

** 2 **y bueno sobre lo del switch solo trabaja con numeros ????
si es 1 tal cosa si es 2 la sgt ... o en el caso que no sea numero seria el uso de combox que es lo mas logico no ? ... donde se ve texto pero se elije con numeros .....
pero me acaban de decir que se puede cambiando la sintaxis aunque no entendi como ... a ver si me dan una manito ...

** 3 **y para sacar el caption de un combox .... como se hace ????
** 4 ** como comparo usando ifs en el switch ??? tienes un ejemplo }xD(si se usar if)

pd: enumere las preguntas XD

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa