TEMA 12: Ciclos y Bucles
1.- WHILE.
BUCLE CON INSTRUCCIÓN WHILE EN JAVA. EJEMPLO USO DE BREAK.
El bucle while presenta ciertas similitudes y ciertas diferencias con el bucle for. La repetición en este caso se produce no un número predeterminado de veces, sino mientras se cumpla una condición. Conceptualmente el esquema más habitual es el siguiente:
La sintaxis en general es: while (condición) { instrucciones a ejecutarse } donde condición es una expresión que da un resultado true o false en base al cual el bucle se ejecuta o no. Escribe y prueba el siguiente código, donde además vemos un ejemplo de uso de la instrucción break;.
//Clase test del while.
public class testWhile {
public static void main (String [ ] args) {
int i = 0;
while (true) { //Condición trivial: siempre cierta
i++;
System.out.println ("Valor de i: " + i);
if (i==9) { break;}
}
} //Cierre del main
} //Cierre de la clase
|
En este código hemos hecho algo un poco extraño. Como condición a evaluar hemos puesto “true”. Esto significa que la condición es siempre verdadera, lo que en teoría daría lugar a un bucle infinito y a un bloqueo del ordenador. Sin embargo, utilizamos un contador auxiliar que inicializamos en cero y en cada repetición del bucle aumentamos en una unidad. A su vez, introducimos una condición dentro del bucle según la cual cuando el contador alcanza el valor 9 se ejecuta la instrucción break.
2.- DO-WHILE.
BUCLE CON INSTRUCCIÓN DO … WHILE. EJEMPLO DE USO.
El bucle do … while es muy similar al bucle while. La diferencia radica en cuándo se evalúa la condición de salida del ciclo. En el bucle while esta evaluación se realiza antes de entrar al ciclo, lo que significa que el bucle puede no llegar ejecutarse. En cambio, en un bucle do … while, la evaluación se hace después de la primera ejecución del ciclo, lo que significa que el bucle obligatoriamente se ejecuta al menos en una ocasión. A modo de ejercicio, escribe este código y comprueba los resultados que se obtienen con él:
public class TestDelDoWhile { //Prueba del do ... while
public static void main (String [ ] Args) {
int contador = 0 ;
do { System.out.println ("Contando... " + (contador+1) );
contador += 1;
} while (contador<10); }
}
|
3.- IF-ELSE.
If else, if else if Java. Estructura o esquema de decisión condicional. Ejemplos de uso.
ESTRUCTURA O ESQUEMA DE DECISIÓN EN JAVA. IF ELSE , IF ELSE IF.
La instrucción if … else permite controlar qué procesos tienen lugar, típicamente en función del valor de una o varias variables, de un valor de cálculo o booleano, o de las decisiones del usuario. La sintaxis a emplear es:
/* Ejemplo Estructura IF ELSE
if (condición) {
instrucciones
} else {
instrucciones
}
|
Esquemáticamente en forma de diagrama de flujo:
La cláusula else (no obligatoria) sirve para indicar instrucciones a realizar en caso de no cumplirse la condición. Java admite escribir un else y dejarlo vacío: else { }. El else vacío se interpreta como que contemplamos el caso pero no hacemos nada en respuesta a él. Un else vacío no tiene ningún efecto y en principio carece de utilidad, no obstante a veces es usado para remarcar que no se ejecuta ninguna acción cuando se alcanza esa situación.
Cuando se quieren evaluar distintas condiciones una detrás de otra, se usa la expresión else if { }. En este caso no se admite elseif todo junto como en otros lenguajes. De este modo, la evaluación que se produce es: si se cumple la primera condición, se ejecutan ciertas instrucciones; si no se cumple, comprobamos la segunda, tercera, cuarta… n condición. Si no se cumple ninguna de las condiciones, se ejecuta el else final en caso de existir.
/* Ejemplo - aprenderaprogramar.com */
//if sencillo
if ( admitido == true) { System.out.println ("Se ha admitido el valor"); }
//if else sencillo
if ( admitido == true) {
System.out.println ("Se ha admitido el valor");
} else {
System.out.println ("No se ha admitido el valor");
}
//if con else if y cláusula final else
if (DesplazamientoX == 0 && DesplazamientoY == 1) {
System.out.println ("Se procede a bajar el personaje 1 posición");
}
else if (DesplazamientoX == 1 && DesplazamientoY == 0) {
System.out.println ("Se procede a mover el personaje 1 posición a la derecha"); }
else if (DesplazamientoX == -1 && DesplazamientoY == 0) {
System.out.println ("Se procede a mover el personaje 1 posición a la izquierda");
}
else {
System.out.println ("Los valores no son válidos");
}
|
Intenta compilar este código en una clase. Para ello declara la clase, declara las variables que intervienen, inicialízalas en un constructor, e incorpora tres métodos que se correspondan con los tres ejemplos de uso de if que hemos visto.
La expresión dentro de paréntesis es una expresión booleana. Llamamos expresión booleana a una expresión que solo tiene dos valores posibles: verdadero (true) o falso (false).
Es importante distinguir la comparación que realizamos con el operador == de la asignación que realizamos con el operador =. Confundirlos nos generará errores de compilación o problemas de lógica en el código. Recuerda que siempre que tengas que comparar con un operador, has de usar == en lugar de =.
EJEMPLOS.
ELSE IF
WHILE.
Comentarios
Publicar un comentario