Declaración de cambio de Java (con ejemplos)

En este tutorial, aprenderá a usar la instrucción switch en Java para controlar el flujo de ejecución de su programa con la ayuda de ejemplos.

La switchdeclaración nos permite ejecutar un bloque de código entre muchas alternativas.

La sintaxis de la switchdeclaración en Java es:

 switch (expression) ( case value1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break;… … default: // default statements )

¿Cómo funciona la declaración de cambio?

La expresión se evalúa una vez y se compara con los valores de cada etiqueta de caso .

  • Si hay una coincidencia, se ejecuta el código correspondiente después de la etiqueta de caso coincidente .
    Por ejemplo, si el valor de la expresión es igual a value2, case value2:se ejecuta el código siguiente .
  • Si no hay coincidencia, default:se ejecuta el código siguiente .

Nota : Podemos hacer la misma funcionalidad usando Java if… else… if ladder. Sin embargo, la sintaxis de la instrucción switch es más limpia y mucho más fácil de leer y escribir.

Diagrama de flujo de la declaración de cambio

Diagrama de flujo de la declaración de cambio de Java

Ejemplo 1: declaración de cambio de Java

 // Java Program to check the size // using the switch… case statement class Main ( public static void main(String() args) ( int number = 44; String size; // switch statement to check size switch (number) ( case 29: size = "Small"; break; case 42: size = "Medium"; break; // match the value of week case 44: size = "Large"; break; case 48: size = "Extra Large"; break; default: size = "Unknown"; break; ) System.out.println("Size: " + size); ) )

Salida :

 Talla larga

En el ejemplo anterior, usamos la instrucción switch para encontrar el tamaño. Aquí, tenemos un número variable. La variable se compara con el valor de cada declaración de caso.

Dado que el valor coincide con el caso 44 , la variable de tamaño se asigna con valor Large.

declaración de ruptura en el conmutador de Java … caso

Observe que hemos utilizado la breakdeclaración en cada bloque de casos. Esto es útil para terminar la declaración.

Si breakno se utiliza la declaración, se ejecutan todos los casos posteriores al caso coincidente. Por ejemplo,

 class Main ( public static void main(String() args) ( int expression = 2; // switch statement to check size switch (expression) ( case 1: System.out.println("Case 1"); // matching case case 2: System.out.println("Case 2"); case 3: System.out.println("Case 3"); default: System.out.println("Default case"); ) ) )

Salida

 Caso 2 Caso 3 Caso predeterminado

En el ejemplo anterior, no hemos utilizado la breakdeclaración. Aquí, la expresión coincide con case 2.

Puede ver que, junto con case 2, también se ejecutan todos los casos siguientes.

Esta no es la salida deseada. Por lo tanto, es necesario usar la breakdeclaración con cada bloque de casos .

Ejemplo 2: hacer una calculadora usando la declaración de cambio

El programa siguiente toma tres entradas del usuario: un operador y 2 números . Basado en el operador proporcionado por el usuario, realiza el cálculo sobre los números. Luego, el resultado se muestra en la pantalla.

Antes de pasar por el programa, asegúrese de conocer Java Scanner para recibir información del usuario.

 import java.util.Scanner; class Main ( public static void main(String() args) ( char operator; Double number1, number2, result; // create an object of Scanner class Scanner input = new Scanner(System.in); // ask users to enter operator System.out.print("Choose an operator: +, -, *, or /: "); operator = input.next().charAt(0); // ask users to enter numbers System.out.print("Enter first number: "); number1 = input.nextDouble(); System.out.println("Enter second number: "); number2 = input.nextDouble(); switch (operator) ( // performs addition between numbers case '+': result = number1 + number2; System.out.print(number1 + "+" + number2 + " = " + result); break; // performs subtraction between numbers case '-': result = number1 - number2; System.out.print(number1 + "-" + number2 + " = " + result); break; // performs multiplication between numbers case '*': result = number1 * number2; System.out.print(number1 + "*" + number2 + " = " + result); break; // performs division between numbers case '/': result = number1 / number2; System.out.print(number1 + "/" + number2 + " = " + result); break; default: System.out.println("Invalid operator!"); break; ) input.close(); ) )

Salida 1

 Elija un operador: +, -, * o /: + Ingrese el primer número: 23 Ingrese el segundo número: 21 23.0 + 21.0 = 44.0

Salida 2

 Elija un operador: +, -, * o /: - Ingrese el primer número: 24 Ingrese el segundo número: 13 24.0-13.0 = 11.0

Salida 3

 Elija un operador: +, -, * o /: * Ingrese el primer número: 12 Ingrese el segundo número: 6 12.0 * 6.0 = 72.0

Salida 4

 Elija un operador: +, -, * o /: / Ingrese el primer número: 36 Ingrese el segundo número: 6 36.0 / 6.0 = 6.0

Salida 5

Elija un operador: +, -, * o /:? Ingrese el primer número: 12 Ingrese el segundo número: 23 ¡Operador no válido!

En el ejemplo anterior, estamos usando la switch… casedeclaración para realizar sumas, restas, multiplicaciones y divisiones.

Nota : La declaración de cambio de Java solo funciona con:

  • Tipos de datos Java Primitive: byte, short, char e int
  • Tipos enumerados de Java
  • Clase de cadena de Java
  • Clases de contenedor Java: carácter, byte, corto y entero.

Articulos interesantes...