Anda di halaman 1dari 9

Manual de Programación Java

SEMANA 6
7.4. Switch
La sentencia switch se encarga de estructurar una selección múltiple. Al contrario del
enunciado if-else que sólo podemos indicar dos alternativas, maneja un número finito de
posibilidades. La estructura general del enunciado switch es la siguiente:

switch( expresión ) {
case constante1:
sentencia1;
...
break;
...
case constanteN:
sentenciaN;
...
break;
default:
sentencia;
...
break
}

El valor de la expresión y de las constantes tiene que ser de tipo String, char, byte, short o
int. No hay lugar para booleanos, reales ni long porque, en la ejecución, todos los valores
que incorporamos se transforman en valores de tipo int.
Al evaluar la expresión de switch, el intérprete busca una constante con el mismo valor. Si
la encuentra, ejecuta las sentencias asociadas a esta constante hasta que tropiece con un
break. La sentencia break finaliza la ejecución de esta estructura. Si no encuentra ninguna
constante que coincida con la expresión, busca la línea default. Si existe, ejecuta las
sentencias que le siguen. La sentencia default es opcional.

Ejemplo:
Vamos a elaborar una aplicación donde nos solicite el ingreso de un numero en el rango de
1-5, luego nos muestre el texto literal del número ingresado; si se ingresa un valor fuera de
rango, debe mostrar un mensaje de error.

56
Manual de Programación Java

Resultado:

¿Qué pasaria si eliminamos las instrucciones break.? Así:

57
Manual de Programación Java

Resultado:

Podemos observar que sólo se ha evaluado el case 2, y como no tiene la instrucción break,
se ejecuta todo los case que siguen.
Ejercicio:
Elaborar una aplicación que solicite ingresar dos numeros, luego debe preguntar que
operación desea realizar, debiendo ingresar: “+”, “-”, “*” o ”/”. Finalmente debe mostrar el
resultado de la operación seleccionada.
El método nextLine() extrae del buffer de entrada
todos los caracteres hasta llegar a un intro y
elimina el intro del buffer.
En este caso asigna una cadena vacía a la
variable nombre y limpia el intro. Esto provoca
que el programa no funcione correctamente, ya
que no se detiene para que se introduzca el
nombre.
Solución:
Se debe limpiar el buffer de entrada si se van a
leer datos de tipo carácter a continuación de la
lectura de datos numéricos.
La forma más sencilla de limpiar el buffer de
entrada en Java es ejecutar la instrucción:
sc.nextLine();

Resultado:

58
Manual de Programación Java

Reto de la sesión

Elaborar Una aplicación basada en jFrame en la que nos permita seleccionar productos de una lista
y agregarla a una nueva lista. De acuerdo al producto seleccionado se debe asignar un precio. En
una caja de texto se debe mostrar el precio total y debe ir incrementandose de acuerdo al
producto seleccionado en cada operación de selección. Emplear switch.
Vista diseño:

jButton
jCombo Box

jList

jText Field

Vista ejecución:

Para trabajar con la lista se debe crear un objeto de tipo DefaultListModel, luego este modelo
asignar a nuestro objeto jList.
DefaultListModel modelo= new DefaultListModel(); //Creamos un objeto modelo del tipo DefaultListModel.
modelo.addElement(producto +" "+ precio); //Agregamos elementos al modelo.
jLstListaProd.setModel(modelo); //Asignamos el modelo a nuestro jLstListaProd.

59
Manual de Programación Java

SEMANA 07.

7.5. Bucles java: for, while y do..while


Puede haber situaciones en la que necesitemos ejecutar un bloque de código varias veces,
a esto se le denomina bucle.
Java tiene tres mecanismos de bucles muy flexibles. Usted puede utilizar uno de los
siguientes tres bucles:
 for Loop
 while Loop
 do...while Loop
A partir de Java 5, el bucle for ha sufrido mejoras, se utiliza principalmente para la
gestion de matrices.
 El bucle for.
Un bucle es una estructura de control de repetición que permite escribir de
manera eficiente un bucle que es necesario ejecutar un número determinado de
veces.
Un bucle for es útil cuando se sabe cuántas veces se va a repetir una tarea.
La sintaxis del bucle for es:
for(inicializacion; expresion booleana; actualización)
{
//Declaraciones
}
Explicamos el flujo de control del bucle for.
La etapa de inicialización se ejecuta en primer lugar, y sólo una vez. Este paso
le permite declarar e inicializar las variables de control del bucle. Usted no está
obligado a poner una declaración aquí, siempre que aparezca un punto y coma.

A continuación, se evalúa la expresión booleana. Si es verdadero, se vuelve a


ejecutar el cuerpo del bucle. Si es falsa, el cuerpo del bucle no se ejecuta y el
flujo de control salta a la siguiente instrucción despueés del bucle for.

Después de que el cuerpo del bucle se ejecuta, el flujo de control salta de


nuevo a la instrucción de actualización. Esta declaración le permite actualizar
las variables de control del bucle. Esta declaración puede ser dejado en blanco,
siempre que aparezca un punto y coma después de la expresión booleana.

60
Manual de Programación Java

La expresión booleana se evalúa de nuevo ahora. Si es cierto, el bucle se


ejecuta y el proceso se repite (cuerpo del bucle, a continuación, pasa a
actualización, luego a la expresión booleana). si la expresión booleana es falsa,
el bucle de termina.
Ejemplo:

Resultado:

Ejercicio:
Crear una aplicación que muestre la tabla de multiplicar del número ingresado. Así:

61
Manual de Programación Java

 El bucle while.
Un bucle while es una estructura de control que le permite repetir una tarea un
número determinado de veces.

La sintaxis del bucle while es:


while(expresion booleana)
{
//Declaraciones
}
Cuando se ejecuta, si el resultado de la expresion booleana es cierto, entonces se
ejecutarán las acciones dentro del bucle. Esto continuará siempre y cuando el
resultado de la expresión sea verdadera.

Aquí, el punto clave del bucle while es que el bucle no podría nunca funcionar. Cuando
la expresión es probada y el resultado fuera falso, el cuerpo del bucle se omitirá y se
ejecutará la primera sentencia después del bucle while.
Ejemplo:

Resultado:

Ejercicio:
Elaborar una aplicación que solicite el ingrese un numero positivo luego muestre los
numeros pares hasta el numero ingresado. Así:

62
Manual de Programación Java

 El bucle do…while.
Un bucle do ... while es similar a un bucle while, excepto que un bucle do ... while se
ejecutaal menos una vez.
La sintaxis del bucle while es:
do
{
//Statements
}while(Boolean_expression);

Observa que la expresión booleana aparece al final del bucle, por lo que las
instrucciones del bucle while ha sido ejecutado una vez antes de que la expresion
boolena haya sido evaluada.
Si la expresión booleana es verdadera, el control del flujo se incrementa, y las
instrucciones del bucle se vuelven a ejecutar. Este proceso se repite hasta que la
expresión booleana sea falsa.
Ejemplo:

Resultado:

63
Manual de Programación Java

Ejercicio:
Elaborar un programa donde se puedan leer numeros desde un valor mayor ingresado
hasta que llegue a cero. El resultado es la suma de todos los números leídos. Así:

Reto de la sesión

Elaborar una aplicación basada en jFrame, donde se muestre la tabla de multiplicar con for, los
numeros pares con while y el valor acumulado de los números desde un número ingresado hasta
0.

Al ejecutar…

64

Anda mungkin juga menyukai