Sei sulla pagina 1di 17

La Estructura while

• Estructura de repetición
– Repite una acción mientras (while) alguna
condición permanezca con valor true
– La “acción” puede ser una sentencia
simple o compuesta
– Si la condición inicialmente es false,
entonces la “acción” nunca se ejecutará
Ejemplo

Se desea saber el nivel de conocimiento de un curso.


Participan 10 alumnos. Cada uno es evaluado con un
“Aprobó” (1) o “Reprobó” (2). Escriba un programa que
analice los resultados. Si más de 8 alumnos aprueba el
test, debe enviar el mensaje “La mayoría aprobó”,
indicando además el número exacto de aprobados. Si
sólo 5 aprobaron el test, el mensaje será “Buenos y
malos en igual cantidad”. Si menos de 3 aprobaron, el
mensaje será “La mayorá reprobo”, indicando el número
exacto de re`probados. Datos de entrada por cada
alumno: 1 si aprobó y 2 si reprobó
Ejercicio

Escriba un programa que lea una frase desde teclado e


imprima el número de palabras con, al menos 3 vocales
diferentes
La Estructura for

• Estructura de repetición
– Ejemplo:
for ( int counter = 1; counter <= 10; counter++ )
C.println(“repeticion numero “+counter);

• Observaciones:
– for “lo hace todo" : inicialización,
condición, incremento
• Formato general:
for ( inicialización; Condición de Continuación; incremento )
sentencia
La Estructura for

• Observaciones:
– Si se necesita más de una sentencia:
{….}
– Las variables de control sólo existen
en el encabezado del for
– Si Condición de Continuación es inicialmente
falso, el for no se ejecuta
– Pueden usarse expresiones aritméticas
en el for:
• Si x = 2 e y = 10
for ( int j = x; j <= 4 * x * y; j += y / x )
es equivalente a:
for ( int j = 2; j <= 80; j += 5 )
La Estructura for

– Un for se puede escribir como while:


inicializacion;
while ( Condicion de Continuacion ) {
sentencia
incremento;
}
– Ejemplo: Escriba un programa que calcule el
producto de los 5 primeros enteros.
La Estructura for

– Solución:
import java.awt.*;
import hsa.Console;
class Producto2{
static public void main(String[]args)
{
Console C= new Console();
int A = 1;
for (int B = 1; B <= 5; B++)
A = A*B;
C.println(" El producto requerido es: "+A);
}
}
La Estructura switch

• Estructura de Selección Múltiple


– Util para probar distintos valores de una variable
• Distintas acciones a seguir, según el valor
– Formato:
• Serie de case “labels” y un case default optativo
• Uso de break causa la salida de la estructura switch
switch ( valor ){
case '1': acciones
case '2': acciones
default : acciones
}
• case labels – pueden ser valores enteros constantes de
tipo byte, short, int, long, y char
• Use comilla simple para representar caracteres: 'A'
La Estructura switch

– Se pueden hacer declaraciones en el bloque de


cada case, pero no al principio del bloque switch,
antes del primer case
Switch (m) {
int N = 0, K =2; // NO PERMITIDO!!
case 7:
int I = 0; // PERMITIDO
:
: }
– Si una sentencia es válida para varios labels case,
puede ponerse:
case 1 : case 2: case 4:
K = 30;
Ejercicio

Escriba un programa que lea una fecha, representada


por dos enteros, mes y año e imprima los días
correspondientes al mes. Considere casos de años
bisiestos (cuando es múltiplo de 4 y no de 100, o cuando
es múltiplo de 400)
Ejemplo:
Ingrese mes: 5
Ingrese año: 2002
El mes 5 del año 2002 tiene 31 días
La Estructura do/while

• Estructura de repetición
– Similar a while
– Primero se ejecutan las sentencias de la estructura
y, al final se prueba la condición de repetición
– Las acciones se ejecutan al menos una vez
• Formato
– do {
sentencias
} while ( condición );
– Paréntesis de llave {} no requeridos, pero
recomendado para la claridad del código.
Las Sentencias break y
continue
• break
– Sale inmediatamente de un while, for,
do/while o switch
– El programa continúa con la primera
sentencia después de la estructura
– Usos:
• Escape temprano de un loop
• Salto del resto de una estructura switch
Ejemplo uso del break

Programa que, usando un for, debiera imprimir los 10


primeros números, pero sólo llega hasta el 4
El código…

import java.awt.*;
import hsa.Console;
class t_break{
static public void main(String[]args){
Console C= new Console();
C.println("prueba de la sentencia break");
for(int i = 1; i <= 10; i++) {
if ( i == 5) break;
C.print(i+ " ");
}
C.println("\n Solo se imprimio hasta el 4...");
}
}
Las Sentencias break y
continue
• continue
– Salta las sentencias remanentes de una iteración
while, for o do/while
• Procede con la siguiente iteración
– while y do/while
• La condición de continuación se evalúa inmediatamente
después del continue
– for
• Primero se ejecuta la expresión de Incremento, a
continuación se evalúa la condición de continuación
Ejemplo uso del continue

Programa que, usando un for, debiera imprimir los 10


primeros números, pero se salta el 5
El código…

import java.awt.*;
import hsa.Console;
class t_continue{
static public void main(String[]args){
Console C= new Console();
C.println("prueba de la sentencia continue");
for(int i = 1; i <= 10; i++) {
if ( i == 5) continue;
C.print(i+ " ");
}
C.println("\n Solo falto imprimir el 5...");
}
}

Potrebbero piacerti anche