Cómo utilizar la sentencia switch en Java
Formato de la declaración de cambio:
switch (variable de carácter o entero)
{
El posible el valor de la variable caso es 1:
Rama uno;
descanso;
El valor posible de la variable caso es 2:
Rama dos;
p>break;
El valor posible de la variable case es 3:
Rama tres;
break;
...
predeterminado:
Última rama;
}
En la sintaxis de switch, necesitamos aprender 4 palabras clave: switch, case, break, default.
En la línea de cambio (variable), la variable solo puede ser un número entero o un carácter. El programa primero lee el valor de esta variable y luego busca qué valor es igual a esta variable en cada "caso". Si son iguales, incluso si la condición es verdadera, el programa ejecuta la rama correspondiente hasta que encuentra una interrupción. o declaración de cambio.
Comprender el significado de switch, case, break y default también será útil para comprender todo lo que está delante. Son: switch, case, interrupt. , predeterminado (valor). Entonces, la declaración en una oración es: dependiendo del valor del interruptor, se ejecutan diferentes situaciones hasta que se encuentra una interrupción, si todas las situaciones no cumplen con el valor del interruptor, se ejecuta la rama predeterminada;
Finalmente, permítanme hablar sobre algunos puntos muy importantes a tener en cuenta sobre Switch.
Primero, en el cambio (variable entera o de caracteres), el tipo de variable solo puede ser tipos enteros y de caracteres como se marca en el texto. Contienen int,char. Por supuesto, son aceptables tipos sin signo o números enteros de diferentes longitudes (unsigned int, short, unsigned char), etc. Además, los tipos de enumeración (enum) también se implementan internamente mediante tipos de números enteros o de caracteres. Entonces eso también está bien. Los números reales (punto flotante) no funcionarán, como por ejemplo:
float a = 0,123;
switch(a) //¡Error! a no es una variable de tipo entero o de carácter.
{
....
}
En segundo lugar, el caso se puede seguir directamente Valores constantes , como 1, 2, 3, 4 en el ejemplo, también puede ser una fórmula de cálculo que usa constantes, como 2+2, etc., pero no pueden ser variables o expresiones con variables, como * 2, etc. Por supuesto, no puede ser un número real, como 4,1 o 2,0/2, etc.
switch(formWay)
{
caso 2-1: //Correcto
...
caso a-2: //Error
...
caso 2.0: //Error
...
}
Además, después de mayúsculas y minúsculas y valores constantes, se requieren dos puntos; tenga cuidado de no omitirlos.
En tercer lugar, el papel de la ruptura.
break permite que el programa salte de la instrucción de cambio completa (es decir, salte al par de {} conectados al interruptor) después de ejecutar la rama seleccionada y complete el cambio. Sin esta interrupción, el programa continuará avanzando a la siguiente rama hasta que encuentre una interrupción posterior o se complete el cambio.
Por ejemplo, supongamos que el programa ahora ingresa a la rama en el caso 1:, pero la rama en el caso 1 no tiene interrupción:
caso 1 :
p>System.out.println("Llegaste a este sitio web a través de un motor de búsqueda.
");
caso 2:
System.out.println("Llegaste a este sitio web a través de la presentación de un amigo.");
p>Luego, el programa muestra "Llegaste a este sitio web a través de un motor de búsqueda. " Después de eso, seguirá mostrando "Llegaste a este sitio web a través de la presentación de un amigo" en el caso 2. ".
Cambie el fragmento de código del ejemplo anterior al siguiente (la parte roja significa que todas las interrupciones se invalidan agregando //):
...
caso 1:
System.out.println("Llegaste a este sitio web a través de un motor de búsqueda." );
//break;
caso 2:
System.out.println("Llegaste a este sitio web a través de la presentación de un amigo.");
//break;
p>
caso 3:
System.out.println("Llegaste a este sitio web a través de periódicos y revistas.");
//break;
caso 4:
System.out.println("Llegaste a este sitio web a través de otros métodos.");
//break;
default:
System.out.println("¡Elección incorrecta! Ingrese un número del 1 al 4 para hacer su elección.");
...
¿Cuál será el resultado después de ejecutarlo? Pruébelo y respóndame en la tarea.
Cuarto, es opcional. Si no hay un valor predeterminado, después de que el programa no pueda encontrar la rama del caso coincidente, no hará nada dentro del alcance de la declaración de cambio y completará el cambio directamente. También puede comentar el código predeterminado. , luego ejecute la prueba e ingrese 5 al seleccionar
...
//default:
//cout < < "¡Elección incorrecta! Por favor ingrese un número del 1 al 4 para hacer su selección. " << endl;
...
En quinto lugar, cuando sea necesario, {} se puede utilizar en cada caso para generar explícitamente declaraciones compuestas independientes.
Cuando hablamos de declaraciones if... y otras declaraciones de control de flujo, usamos {} para generar declaraciones compuestas:
if (condición)
{
Rama 1;
}
A menos que haya exactamente una declaración en la rama, las llaves {} no son necesarias aquí, sino en switch. declaración de caso, no hemos marcado el uso de {} en el formato de sintaxis. Consulte:
cambio (entero o variable de carácter)
{
Posible. valor de la variable de caso 1:
Rama uno;
descanso;
Posible valor de la variable de caso 2:
.. ..
}
En términos generales, los libros de texto solo dicen que las ramas de casos no necesitan usar {}, pero aquí quiero recordarles a todos que no es así. case en cualquier situación se pueden agregar ramas sin {}. Por ejemplo, si desea definir una variable en un caso determinado:
switch (formWay)
{
caso 1:
int a=2; //Error. El compilador no puede definir una variable aquí debido al alcance ambiguo del caso
... p>
caso 2:
...
}
En este caso, agregar {} puede resolver el problema.
cambiar (formWay)
{
caso 1:
{
int a=2; /Correcto, la variable a está claramente limitada al alcance {} actual.
...
}
caso 2:
...
}