Instrucciones de cambio de caso :
estas son un sustituto de las declaraciones if largas que comparan una variable con varios valores integrales.
- La declaración de cambio es una declaración de bifurcación de múltiples vías. Proporciona una forma sencilla de enviar la ejecución a diferentes partes del código en función del valor de la expresión.
- Switch es una declaración de control que permite que un valor cambie el control de ejecución.
Puntos para recordar al usar Switch Case
- La expresión utilizada en una declaración de cambio debe tener un tipo integral o de carácter, o ser de un tipo de clase en el que la clase tenga una sola función de conversión a un tipo integral o de carácter.
- Puede haber cualquier número de declaraciones de casos dentro de un conmutador. Cada caso va seguido del valor que se va a comparar y, después, dos puntos.
- Cuando la variable que se activa es igual a un caso, las declaraciones que siguen a ese caso se ejecutarán hasta que se alcance una declaración de ruptura.
- Cuando se llega a una declaración de ruptura, el interruptor finaliza y el flujo de control salta a la siguiente línea después de la declaración de cambio.
- No todos los casos necesitan contener un descanso. Si no aparece ninguna interrupción, el flujo de control pasará a los casos subsiguientes hasta que se alcance una interrupción, es decir, todas las declaraciones de casos se ejecutarán tan pronto como el compilador encuentre que la comparación es verdadera.
- Una declaración de cambio puede tener un caso predeterminado opcional, que debe aparecer al final del cambio. El caso predeterminado se puede utilizar para realizar una tarea cuando ninguno de los casos es verdadero. No se necesita interrupción en el caso predeterminado.
Sintaxis:
switch (n) { case 1: // code to be executed if n = 1; break; case 2: // code to be executed if n = 2; break; default: // code to be executed if // n doesn't match any cases }
Declaración de cambio anidado:
Las declaraciones de cambio anidado se refieren a declaraciones de cambio dentro de otras declaraciones de cambio.
Sintaxis:
switch(n) { // code to be executed if n = 1; case 1: // Nested switch switch(num) { // code to be executed if num = 10 case 10: statement 1; break; // code to be executed if num = 20 case 20: statement 2; break; // code to be executed if num = 30 case 30: statement 3; break; // code to be executed if num // doesn't match any cases default: } break; // code to be executed if n = 2; case 2: statement 2; break; // code to be executed if n = 3; case 3: statement 3; break; // code to be executed if n doesn't match any cases default: }
Ejemplo:
C++
// Following is a simple program to demonstrate // syntax of Nested Switch Statements. #include <iostream> using namespace std; int main() { int x = 1, y = 2; // Outer Switch switch (x) { // If x == 1 case 1: // Nested Switch switch (y) { // If y == 2 case 2: cout << "Choice is 2"; break; // If y == 3 case 3: cout << "Choice is 3"; break; } break; // If x == 4 case 4: cout << "Choice is 4"; break; // If x == 5 case 5: cout << "Choice is 5"; break; default: cout << "Choice is other than 1, 2 3, 4, or 5"; break; } return 0; } // This code is contributed by Shubham Singh
C
// Following is a simple program to demonstrate // syntax of Nested Switch Statements. #include <stdio.h> int main() { int x = 1, y = 2; // Outer Switch switch (x) { // If x == 1 case 1: // Nested Switch switch (y) { // If y == 2 case 2: printf( "Choice is 2"); break; // If y == 3 case 3: printf( "Choice is 3"); break; } break; // If x == 4 case 4: printf( "Choice is 4"); break; // If x == 5 case 5: printf( "Choice is 5"); break; default: printf( "Choice is other than 1, 2 3, 4, or 5"); break; } return 0; }
Java
// Following is a simple program to demonstrate // syntax of Nested Switch Statements. import java.io.*; class GFG { public static void main (String[] args) { int x = 1, y = 2; // Outer Switch switch (x) { // If x == 1 case 1: // Nested Switch switch (y) { // If y == 2 case 2: System.out.println("Choice is 2"); break; // If y == 3 case 3: System.out.println("Choice is 3"); break; } break; // If x == 4 case 4: System.out.println("Choice is 4"); break; // If x == 5 case 5: System.out.println("Choice is 5"); break; default: System.out.println("Choice is other than 1, 2 3, 4, or 5"); break; } } } // This code is contributed by Shubham Singh
Python3
# Following is a simple program to demonstrate # syntax of Nested Switch Statements. x = 1 y = 2 # Outer Switch def switch_x(x): switcher = { 1: switch_y(y), 4: "Choice is 4", 5: "Choice is 5", } return switcher.get(x, "Choice is other than 1, 2 3, 4, or 5") def switch_y(y): switcher = { 2: "Choice is 2", 3: "Choice is 3", } return switcher.get(y, "") print(switch_x(x)) # This code is contributed by Shubham Singh
C#
// Following is a simple program to demonstrate // syntax of Nested Switch Statements. using System; public class GFG{ static public void Main () { int x = 1, y = 2; // Outer Switch switch (x) { // If x == 1 case 1: // Nested Switch switch (y) { // If y == 2 case 2: Console.WriteLine("Choice is 2"); break; // If y == 3 case 3: Console.WriteLine("Choice is 3"); break; } break; // If x == 4 case 4: Console.WriteLine("Choice is 4"); break; // If x == 5 case 5: Console.WriteLine("Choice is 5"); break; default: Console.WriteLine("Choice is other than 1, 2 3, 4, or 5"); break; } } } // This code is contributed by Shubham Singh
Javascript
<script> // Following is a simple program to demonstrate // syntax of Nested Switch Statements. var x = 1, y = 2; // Outer Switch switch (x) { // If x == 1 case 1: // Nested Switch switch (y) { // If y == 2 case 2: document.write("Choice is 2"); break; // If y == 3 case 3: document.write("Choice is 3"); break; } break; // If x == 4 case 4: document.write("Choice is 4"); break; // If x == 5 case 5: document.write("Choice is 5"); break; default: document.write("Choice is other than 1, 2 3, 4, or 5"); break; } // This code is contributed by Shubham Singh </script>
Producción:
Choice is 2
Publicación traducida automáticamente
Artículo escrito por priyal930gupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA