Mostrando entradas con la etiqueta switch. Mostrar todas las entradas
Mostrando entradas con la etiqueta switch. Mostrar todas las entradas

abril 03, 2010

switch (palabra clave).

La instrucción switch es otra manera de implementar muchas instrucciones if. Evalúa una expresión del tipo int o que pueda ser convertida a int de forma implícita.

La instrucción switch tiene una gramática ligeramente complicada y debe utilizarse con cuidado. Por ejemplo, utiliza los signos “:” y “;”, la palabra clave case y default. La sintaxis es la siguiente:

switch( n ) 
{
    case valor1:
        instrucciones;
        break;
    case valor2:
        instrucciones;
        break;
    default:
        instrucciones;
}

Donde n es un byte, char, int, short.

Ejemplo 1.
El programa solicita un número del usuario y si este se encuentra en un rango de 1 a 10 muestra el mensaje correspondiente.

/**
 * Ilustra el uso de la estructura switch.
 */
import java.util.Scanner;
public class Switch01
{
    public static void main( String[] args ) 
    {
        int calificacion;
        Scanner teclado = new Scanner( System.in );
        
        System.out.println( "Introduce una calificación del 1 al 10: " );
        calificacion = teclado.nextInt();
        
        switch( calificacion ) {
            case 10:
                System.out.println( "(A) Excelente." );
                break;
            case 9:               
            case 8:
                System.out.println( "(B) Bien." );
                break;
            case 7: 
                System.out.println( "(C) Regular." );
                break;
            case 6:
            case 5:
            case 4:
            case 3:
            case 2:
            case 1:
                System.out.println( "(D) Malo." );
                break;
           default:
                System.out.println( "El número no está en el rango de 1-10" );
        }   //fin-switch
    }   //fin del método main
}   //fin de la clase Switch01

Ejemplo 2.
Utilizar la instrucción break es opcional y es interesante ponerlo o no. Veamos que sucede cuando no utilizamos la instrucción break.

/**
 * Ilustra el uso de la estructura switch.
 */
import java.util.Scanner;
public class Switch02
{
    public static void main( String[] args ) 
    {
        int numero;
        Scanner teclado = new Scanner( System.in );
        
        System.out.print( "Introduce un número del 1 al 10: " );
        numero = teclado.nextInt();
        
        switch( numero ) {
            case 1: System.out.println( "Uno" );
            case 2: System.out.println( "Dos" );
            case 3: System.out.println( "Tres" );
            case 4: System.out.println( "Cuatro" );
            case 5: System.out.println( "Cinco" );
            case 6: System.out.println( "Seis" );
            case 7: System.out.println( "Siete" );
            case 8: System.out.println( "Ocho" );
            case 9: System.out.println( "Nueve" );
            case 10: System.out.println( "Diez" );
            default:
                System.out.println( "El número no está en el rango de 1-10" );
        }   //fin-switch
    }   //fin del método main
}   //fin de la clase Switch02

Mientras no se encuentre el break seguirá con la siguiente instrucción hasta llegar al final de la instrucción.

Véase

Control de flujo.

Las sentencias de control de flujo, es la manera que un lenguaje tiene de controlar que sentencias ejecutar en cada momento. Las sentencias son las siguientes:

  • Sentencias de selección: if/else, switch

  • Sentencias de repetición (bucle): for, while, do/while

  • Sentencias de ruptura: break, continue, return


  • Las sentencias de selección o condicionales se basan en el resultado de una condición, o más, el programa se ejecuta instrucciones específicas. Las sentencias de repetición ejecutan un número de veces un conjunto de instrucciones.

    También podríamos ver las excepciones como otra forma de controlar el flujo de un programa.