Vous êtes sur la page 1sur 10

SEMANA 6

7.1.

Switch
La sentencia switch se encarga de estructurar una seleccin mltiple. Al
contrario del enunciado if-else que slo podemos indicar dos alternativas,
maneja un nmero finito de posibilidades. La estructura general del enunciado
switch es la siguiente:
switch( expresin ) {
case constante1:
sentencia1;
...
break;
...
case constanteN:
sentenciaN;
...
break;
default:
sentencia;
...
break
}

El valor de la expresin 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
ejecucin, todos los valores que incorporamos se transforman en valores de
tipo int.
Al evaluar la expresin de switch, el intrprete 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 ejecucin de
esta estructura. Si no encuentra ninguna constante que coincida con la
expresin, busca la lnea default. Si existe, ejecuta las sentencias que le siguen.
La sentencia default es opcional.
Ejemplo:
Vamos a elaborar una aplicacin donde nos solicite el ingreso de un numero en
el rango de 1-5, luego nos muestre el texto literal del nmero ingresado; si se
ingresa un valor fuera de rango, debe mostrar un mensaje de error.

Resultado:

Qu pasaria si eliminamos las instrucciones break.? As:

Resultado:

Podemos observar que slo se ha evaluado el case 2, y como no tiene la


instruccin break, se ejecuta todo los case que siguen.
Ejercicio:
Elaborar una aplicacin que solicite ingresar dos numeros, luego debe
preguntar que operacin desea realizar, debiendo ingresar: +, -, * o /.
Finalmente debe mostrar el resultado de la operacin seleccionada.
El mtodo 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 vaca 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.
Solucin:
Se debe limpiar el buffer de entrada si se van a
leer datos de tipo carcter a continuacin de la
lectura de datos numricos.
La forma ms sencilla de limpiar el buffer de
entrada en Java es ejecutar la instruccin:
sc.nextLine();

Resultado:

Reto de la sesin

Elaborar Una aplicacin 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 operacin de seleccin.
Emplear switch.
Vista diseo:
jButton
jCombo Box
jList

jText Field

Vista ejecucin:

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.

SEMANA 07.
7.2.

Bucles java: for, while y do..while


Puede haber situaciones en la que necesitemos ejecutar un bloque de cdigo
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 repeticin que permite
escribir de manera eficiente un bucle que es necesario ejecutar un
nmero

determinado

de

veces.

Un bucle for es til cuando se sabe cuntas veces se va a repetir una


tarea.
La sintaxis del bucle for es:
for(inicializacion; expresion booleana; actualizacin)
{
//Declaraciones
}

Explicamos el flujo de control del bucle for.


La etapa de inicializacin se ejecuta en primer lugar, y slo una vez.
Este paso le permite declarar e inicializar las variables de control del
bucle. Usted no est obligado a poner una declaracin aqu, siempre
que aparezca un punto y coma.
A continuacin, se evala la expresin 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 instruccin
despues del bucle for.

Despus de que el cuerpo del bucle se ejecuta, el flujo de control


salta de nuevo a la instruccin de actualizacin. Esta declaracin le
permite actualizar las variables de control del bucle. Esta declaracin
puede ser dejado en blanco, siempre que aparezca un punto y coma
despus de la expresin booleana.
La expresin booleana se evala de nuevo ahora. Si es cierto, el
bucle se ejecuta y el proceso se repite (cuerpo del bucle, a
continuacin, pasa a actualizacin, luego a la expresin booleana). si
la expresin booleana es falsa, el bucle de termina.
Ejemplo:

Resultado:

Ejercicio:
Crear una aplicacin que muestre la tabla de multiplicar del nmero
ingresado. As:

El bucle while.
Un bucle while es una estructura de control que le permite repetir una
tarea un nmero 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 ejecutarn las acciones dentro del bucle. Esto continuar
siempre

cuando

el

resultado

de

la

expresin

sea

verdadera.

Aqu, el punto clave del bucle while es que el bucle no podra nunca
funcionar. Cuando la expresin es probada y el resultado fuera falso, el
cuerpo del bucle se omitir y se ejecutar la primera sentencia despus del
bucle while.
Ejemplo:

Resultado:

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

El bucle dowhile.
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 expresin 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 expresin 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 expresin booleana sea falsa.
Ejemplo:

Resultado:

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 nmeros ledos. As:

Reto de la sesin
Elaborar una aplicacin basada en jFrame, donde se muestre la tabla de multiplicar con
for, los numeros pares con while y el valor acumulado de los numeros desde un
numero ingresado hasta 0.

Al ejecutar

Vous aimerez peut-être aussi