English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo de Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Java Map de conjuntos

Java Set de conjuntos

Java Entrada/Salida (I/O)

Java Reader/Writer

Otras temáticas de Java

Sentencia switch de Java

En este tutorial, aprenderás a usar la instrucción switch en Java para controlar el flujo de ejecución del programa

En Java, usamosEscalera if..else..ifEjecutar un bloque de código entre varios bloques. Pero, la sintaxis de la escalera if ... else ... if es demasiado larga.

Por lo tanto, podemos usar la instrucción switch en lugar de long if ... else ... ifEscalera. El uso de la instrucción switch hace que nuestro código sea más legible.

La sintaxis de la instrucción switch es:

switch (variable/expresión) {
case valor1:
   //  case1 Instrucción
   break;
case valor2:
   // case2 Instrucción
   break;
   .. .. ..
   .. .. ..
default:
   // Instrucción default
}

La instrucción switch evalúa la expresión o la variable (expresión o variable) y la compara con cada valor de la etiqueta de caso (puede ser una expresión).

Ahora, si el valor coincide con alguna etiqueta de caso, se ejecutarán todas las instrucciones del caso coincidente.

Por ejemplo, si variable/La expresión es igual al valor2. En este caso, el caso ejecutará todas las instrucciones que coinciden (case2Las instrucciones).

Tenga en cuenta que en cada caso se utiliza la sentencia break. La sentencia break se utiliza para terminar la ejecución de la sentencia switch.

Esto es importante, porque si no se utiliza la sentencia break, todas las instrucciones después del caso se ejecutarán en orden hasta que finalice la sentencia switch.

Dibujo de flujo de la sentencia switch

Dibujo de flujo de la sentencia switch en Java

Ejemplo1: Sentencia switch en Java

class Main {
    public static void main(String[] args) {
        int week = 4;
        String day;
        // Sentencia switch para determinar el día de la semana
        switch (week) {
            case 1:
                day = "Domingo";
                break;
            case 2:
                day = "Lunes";
                break;
            case 3:
                day = "Martes";
                break;
            //Coincidencia del valor de la semana
            case 4:
                day = "Miércoles";
                break;
            case 5:
                day = "Jueves";
                break;
            case 6:
                day = "Viernes";
                break;
            case 7:
                day = "Sábado";
                break;
            default:
                day = "Día inválido";
                break;
        }
        System.out.println("Este día es ", + day);
    }
}

Salida:

Este día es Miércoles

En el ejemplo anterior, usamos la sentencia switch para encontrar un día de la semana. Aquí, tenemos una variable que guarda un valor entero week. Comparar este valor con cada uno de los valores dentro del bloque case de la sentencia switch.

Aquí el valor de week es4. Por lo tanto, es el caso 4Coincidencia. Por lo tanto, caso 4Las instrucciones dentro se ejecutan.

Ejemplo2: Hacer un calculadora con la sentencia switch

El siguiente programa recibe tres entradas del usuario:un operadory2números. Según el operador proporcionado por el usuario, realice cálculos con estos números. Luego, los resultados se muestran en la pantalla.

Antes de explorar este programa, es mejor que ya conozcaJava scannerpara recibir la entrada del usuario.

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        char operator;
        Double number1, number2, result;
        //Crear un objeto de la clase Scanner
        Scanner scanner = new Scanner(System.in);
        System.out.print("Ingrese el operador (opciones:") +, -, * o /);
        //Se requiere que el usuario ingrese el operador
        operator = scanner.next().charAt(0);
        System.out.print("Introduzca los números respectivamente1y números2: ");
        //Solicite al usuario que introduzca los números
        number1 = scanner.nextDouble();
        number2 = scanner.nextDouble();
        switch (operator) {
            //Sumar dos números
            case "+:
                result = number1 + number2;
                System.out.print(number1 + "+" + number2 + " = " + result);
                break;
            //Restar dos números
            case "-:
                result = number1 - number2;
                System.out.print(number1 + "-" + number2 + " = " + result);
                break;
            //Multiplicar dos números
            case "*:
                result = number1 * number2;
                System.out.print(number1 + "*" + number2 + " = " + result);
                break;
            //Dividir dos números
            case "/:
                result = number1 / number2;
                System.out.print(number1 + "/" + number2 + " = " + result);
                break;
            default:
                System.out.println("¡Operador no válido!");
                break;
        }
    }
}

Salida:

Introduzca el operador (opción: +, -, * o /)  *
Introduzca los números respectivamente1y números2: 1.4
-5.3
1.4*-5.3 = -7.419999999999999

En el ejemplo anterior, utilizamos la sentencia switch para crear una calculadora. Ejecuta la operación según el operador proporcionado por el usuario.