septiembre 21, 2012

Switch con cadenas (String)

Ayer en la noche estaba checando algunos blogs, y me encontré con unos comentarios sobre las novedades de java 7. Y pues son varias cosas que mejoraron, pero hoy solo les dire sobre el switch con cadenas, ya que de por si, con el simple echo de que solo se podía con números y nos era y sigue siendo de gran utilidad, ahora que incluye el manejo de String esta mucho que mejor \(._.)/
En fin sin mas que decir aquí les dejo un ejemplo. Es un programa muy sencillo que solo pide el nombre de un alumno y entra al switch para ver si el nombre que escribimos esta en los casos.

import java.util.Scanner;
/**
 * Archivo: PruebaS.java
 * @author BelloCerecero
 * @sinse 21/09/2012
 */
public class PruebaS 
{
    public static void main(String[] args) 
    {
 Scanner entrada = new Scanner(System.in);
 System.out.println("Introduce el nombre del alumno:\t");
 String alumno = entrada.next();
 
 switch(alumno)
 {
  case "Juan":
      System.out.println("Selecciono al alumno juan...");
      break;
  
  case "Luis":
      System.out.println("Selecciono al alumno luis...");
      break;  
      
  default:
      System.out.println("No selecciono a ningun alumno...");
      break;
 }
    }
}
En la linea 1 como vamos a usar el Scanner lo importamos, de ahí en las lineas 2 a 6 son comentarios simplemente, entonces ya habiendo echo la clase(linea 7) y el main (linea 9) entramos a realizar una pequeña prueba para ver como funciona el Switch con cadenas. 
 Entonces vamos a la linea 11 donde creamos un objeto de Scanner para poder leer datos que el usuario introduzca por medio de la consola. Ahora en la linea 12 con un System.out.println le pedimos al usuario que introduzca algún nombre y este nombre lo guardamos en una variable de tipo String (linea 13). 
Nuestra variable String que en este caso le puse de nombre "alumno" la voy a utilizar para que el Switch la evalue con los case. 
Entonces vemos en la linea 15 en el Switch le pasamos la variable alumno y ya dentro del switch solo puse dos case uno donde evaluara si lo que tiene la variable alumno es igual a "Juan" si esto es correcto entrara al case y solo imprimirá en consola "Selecciono al alumno juan..." es lo mismo en el case "Luis" si lo que tiene la variable alumno es igual a "Luis" entonces entrara al case e imprimirá en consola "Selecciono al alumno luis...", si el usuario introdujo otro nombre a "Juan" o "Luis" se ejecutara el "default". 
Debemos tener muy en cuenta de que el switch toma en cuenta minúsculas y mayúsculas, así que si escribimos "juan" se ejecutar el default, tenemos que escribir tal y como este en el case en este caso tenemos que escribir "Juan" para que entre correctamente.