Switch en Java

0
Switch en Java
GuardarSavedRemoved 0

Para poder hacer la toma de decisiones y que nuestro programa tome un camino u otro, en java existen varias sentencias, entre ellas están los IF-ELSE o IF-ELSE IF, pero también hay otra opción muy común en los distintos lenguajes de programación, esta es la sentencia SWITCH en java.

Definición de Switch en Java

La sentencia switch realiza básicamente la misma función que una sentencia IF, pero con la diferencia que se ve mas ordenado nuestro código.

Te has preguntado: Para que sirve la sentencia switch en java?, aquí tienes mi respuesta mas simple

  • La sentencia switch en java es ideal para la creación de menús con opciones.

Los menús permiten seleccionar una opción, es prácticamente para lo que utilizaremos la sentencia switch en nuestros programas hechos con java. Si eres principiante te sirve quedarte con esta definición de switch, ya que es la más sencilla y fácil de entender. Espero que con esto te quede claro el concepto básico del switch.

Tipos de datos que admite Switch en Java

  • Byte
  • Short
  • Char
  • Int
  • String
  • Enum Types

Wrap Types admitidos en Java Switch

  • Character
  • Byte
  • Short
  • Integer

Estructura de la sentencia switch en java

  1. Se necesita una variable u objeto que será evaluada al inicio de la sentencia switch.
  2. Por cada condición que se quiera evaluar vamos a tener un caso. Dicho caso contiene las instrucciones a ejecutar.
  3. Una vez ejecutadas las instrucciones no tenemos que olvidar salir del switch, esto se hace con la palabra clave break seguida de un (;).
  4. Si no se cumple ninguna de las condiciones que pusimos en los casos, existe un caso llamado “default”. Este será el encargado de ejecutar las instrucciones que se realizaran en caso de no coincidir ningún caso anterior.

Sintaxis de Switch

Aquí tienes la sintaxis de switch que puedes usar en todos tus programas que hagas usando el lenguaje java.

switch (variable) {
   case 1: Instrucciones;
           break;
   case 2: Instrucciones;
           break;
   case 3: Instrucciones;
           break;
           .
           .
           .
   default: Instrucciones;
            break;
}

Ejemplo de un menu con Switch

Para que quede claro el uso de la sentencia switch en java, crearemos un ejemplo realizando un menú de operaciones matemáticas donde podremos escoger que operación se realizara y así te sea más fácil ver el uso de la sentencia switch con java.

Clase Operaciones

Aquí tienes una clase que nos va a servir para tener las diferentes operaciones que se van a usar para ver el uso de los CASE en el SWITCH.

package SwitchEnJava;

public class Operaciones {
    
    private int a;
    private int b;
    
    public int suma(int a, int b){
        return (a + b);
    }
    
    public int resta(int a, int b){
        return (a - b);
    }
    
    public int multiplicacion(int a, int b){
        return (a * b);
    }
    
    public int division(int a, int b){
        return (a / b);
    }
    
}

Clase SwitchEnJavaMain

Este es uno de los ejemplos más comunes que te vas a encontrar en internet acerca del uso de switch en java, como puedes ver en el código más abajo creamos un menú en java usando SWITCH, este código lo hice con NetBeans.

Como puedes ver estoy usando un ciclo do while para hacer que el menú salga siempre después de ejecutar una opción, siempre y cuando el usuario no escriba la palabra SALIR.

Este es uno de los ejemplos mas completos que veras acerca del uso de switch en el lenguaje java, el código es corto pero preciso y explicativo sobre el uso de los menús. Si vas a crear un menú en java, NO uses los IF, usa switch, es más practico y tiene sus ventajas como puedes ver, en este ejemplo puedes ver su estructura y como funciona el switch en java.

En este ejemplo vamos a usar un String en la sentencia switch, en la parte de arriba ya mencionamos que se pueden usar otros tipos de datos pero los más comunes son: números y cadenas (int, String).

//Ejemplo de uso de SWITCH en java
package SwitchEnJava;

import java.util.Scanner;

public class SwitchEnJavaMain {

    public static void main(String[] args) {

        System.out.println("Menu principal de operaciones matematicas usando SWITCH");

        int a = 0;
        int b = 0;
        Operaciones operacion = new Operaciones();

        Scanner entradaEscaner = new Scanner(System.in);
        String opcion = "";

        do {

            System.out.println("Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR");
            opcion = entradaEscaner.nextLine().toUpperCase();

            if (!"SALIR".equals(opcion)) {
                
                System.out.println("Dame el valor de A:");
                a = Integer.parseInt(entradaEscaner.nextLine());

                System.out.println("Dame el valor de B:");
                b = Integer.parseInt(entradaEscaner.nextLine());

                switch (opcion) {
                    case "SUMA":
                        System.out.println("SUMA = " + operacion.suma(a, b));
                        break;
                    case "RESTA":
                        System.out.println("RESTA = " + operacion.resta(a, b));
                        break;
                    case "MULTIPLICACION":
                        System.out.println("MULTIPLICACION = " + operacion.multiplicacion(a, b));
                        break;
                    case "DIVISION":
                        System.out.println("DIVISION = " + operacion.division(a, b));
                        break;
                    default:
                        System.out.println("Opcion desconocida, teclee otra");
                        break;
                }
            }
        } while (!"SALIR".equals(opcion));
    }
}

Salida del programa

En la salida podemos ver como se van ejecutando las operaciones matemáticas, según el usuario vaya eligiendo opciones, el menú con switch sera infinito hasta que el usuario teclee la palabra SALIR

Menu principal de operaciones matematicas usando SWITCH
Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR
suma
Dame el valor de A:
2
Dame el valor de B:
6
SUMA = 8
Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR
resta
Dame el valor de A:
6
Dame el valor de B:
2
RESTA = 4
Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR
multiplicacion
Dame el valor de A:
4
Dame el valor de B:
4
MULTIPLICACION = 16
Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR
division
Dame el valor de A:
10
Dame el valor de B:
5
DIVISION = 2
Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR
salir

Explicación

Este programa consiste en dos clases, Operaciones que se usara para realizar diferentes operaciones matemáticas (suma, resta, multiplicación y división).

SwitchEnJavaMain se encargará de crear un menú, pedir la operación a realizar y también pide los valores para realizar las operaciones.

El switch se encargará de ver que opción se escogió y realizar la operación correspondiente, si el usuario teclea la palabra SALIR, java terminara el programa.

Ejemplo de los días de la semana con enumeración

Ahora veremos un ejemplo muy sencillo donde combinamos el uso de las enumeraciones con la sentencia switch para hacer un programa en java al cual le pasamos el nombre del día y nos imprime en pantalla un mensaje correspondiente al día.

Enumeración de los días de la semana

Esta enumeración java define los días de la semana.

package switchexamples;

public enum Dia {
    LUNES,
    MARTES,
    MIERCOLES,
    JUEVES,
    VIERNES,
    SABADO,
    DOMINGO
}

Clase que contiene el Switch

En esta clase definimos un atributo de la enumeración Day e implementamos el switch para poder imprimir los mensajes de los días de la semana.

package switchexamples;

public class DiaDeLaSemana {

    private Dia dia;

    public DiaDeLaSemana() {
    }

    public DiaDeLaSemana(Dia dia) {
        this.dia = dia;
    }

    public Dia getDia() {
        return dia;
    }

    public void setDia(Dia dia) {
        this.dia = dia;
    }

    public void imprimirElDiaDeLaSemana() {

        switch (this.dia) {
            case LUNES:
                System.out.println("EL DIA ES LUNES...");
                break;
            case MARTES:
                System.out.println("EL DIA ES MARTES...");
                break;
            case MIERCOLES:
                System.out.println("EL DIA ES MIERCOLES...");
                break;
            case JUEVES:
                System.out.println("EL DIA ES JUEVES...");
                break;
            case VIERNES:
                System.out.println("EL DIA ES VIERNES...");
                break;
            case SABADO:
                System.out.println("EL DIA ES SABADO...");
                break;
            case DOMINGO:
                System.out.println("EL DIA ES DOMINGO...");
                break;
            default:
                System.out.println("EL DIA ESPECIFICADO NO EXISTE...");
                break;
        }
    }
}

Clase principal (main)

Este es el programa ejecutable que crea una instancia de la clase DiaDeLaSemana y pasa como parámetro los días de la semana de la enumeración Dia.

package switchexamples;

public class DiaSwitchMain {
    
    public static void main(String []args){
        
        DiaDeLaSemana diaSemana = new DiaDeLaSemana();
        
        diaSemana.setDia(Dia.LUNES);
        diaSemana.imprimirElDiaDeLaSemana();
        
        diaSemana.setDia(Dia.MARTES);
        diaSemana.imprimirElDiaDeLaSemana();
        
        diaSemana.setDia(Dia.MIERCOLES);
        diaSemana.imprimirElDiaDeLaSemana();
        
        diaSemana.setDia(Dia.JUEVES);
        diaSemana.imprimirElDiaDeLaSemana();
        
        diaSemana.setDia(Dia.VIERNES);
        diaSemana.imprimirElDiaDeLaSemana();
        
        diaSemana.setDia(Dia.SABADO);
        diaSemana.imprimirElDiaDeLaSemana();
        
        diaSemana.setDia(Dia.DOMINGO);
        diaSemana.imprimirElDiaDeLaSemana();
    }
}

Salida del programa

Como puedes ver, en el ejemplo anterior llamamos a imprimir todos los días de la semana iniciando con lunes y terminando con domingo, este es el resultado de usar enumeraciones con switch en java.

EL DIA ES LUNES...
EL DIA ES MARTES...
EL DIA ES MIERCOLES...
EL DIA ES JUEVES...
EL DIA ES VIERNES...
EL DIA ES SABADO...
EL DIA ES DOMINGO...

Conclusión

Como puedes ver es muy fácil usar la sentencia switch en java, también es muy útil para crear menús, espero que este sencillo ejemplo en java te ayude a entender el componente switch. Si tienes alguna duda o comentario déjalo en la parte de abajo.

Estaremos encantados de escuchar lo que piensas

Deje una respuesta

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
El inicio de sesión/registro está temporalmente inhabilitado