Unidad 4 Estructuras de control 4.1 Condicionales Para poder programar aplicaciones, no nos basta con ejecutar instrucciones secuencialmente, ni siquiera aunque tengamos la posibilidad de definir bucles; también resulta esencial poder tomar decisiones en base a condiciones. Las instrucciones condicionales nos permiten ejecutar distintas instrucciones en base a la evaluación de condiciones. 4.1.1 Instrucción Condicional IF Sintaxis: if (condición) // Instrucción a ejecutar (Una sola instrucción) if (condición){ // Instrucciones a ejecutar } if (condición) // Instrucción a ejecutar de la rama “then” else // Instrucción a ejecutar de la rama “else” if (condición){ // Instrucciones a ejecutar de la rama “then” } else { // Instrucciones a ejecutar de la rama “else” } A continuación tenemos un ejemplo utilizando la instrucción if : 4.1.2 Instrucción Condicional IF terciario Existe una variante en cuanto a sintaxis de la instrucción if-else, aunque tiene la misma funcionalidad que la escala if-else nos permite trabajar con algunas condiciones sencillas de una forma mucho más fácil. Sintaxis: (Condición ? Instrucción_caso_verdadero : instrucción_caso_falso); El resultado de esta condición será un valor booleano, es decir true/false Ejemplo: 4.1.3 Instrucción Condicional Switch La sentencia switch es la sentencia de múltiples selecciones de Java; tiene la misma funcionalidad que la escala if-else pero de una forma mucho más fácil. En general, esta es la expresión de la sentencia Sintaxis: switch (expresión) { case valorl : instrucciones; break; case valor2 : instrucciones; break; case valor3 : instrucciones; break; default: instrucciones; break; } En este caso, el valor de la expresión, que debe ser de tipo byte, char, short o int, se compara con los distintos valores de las sentencias case: valorl, valor2, y así sucesivamente. Si la expresión coincide con una de las sentencias case, se ejecuta el código asociado con esa sentencia case: sentencial, sentencia2, etc. Si la ejecución llega a una sentencia break, la sentencia switch termina. Esto es un ejemplo en el que se visualiza el día de la semana basándose en un valor numérico y utilizando la sentencia switch: 4.2 Ciclos 4.2.1 Ciclo for (for numérico) Cuando deseamos ejecutar un grupo de instrucciones un número determinado de veces, la instrucción for es la que mejor se adapta a esta tarea. Sintaxis A continuación se muestra el formato general del ciclo for numérico: for (inicialización; condición-de-continuidad; expresión-de-iteración){ // Instrucciones a ejecutar de forma repetitiva } La semántica (significado) de la instrucción es la siguiente: se inicializa una variable (inicialización), se evalúa la condición de continuidad y, si se cumple, se ejecutan las instrucciones situadas entre las llaves, finalmente, se ejecuta la expresión de variación y se repite el ciclo hasta que la condición de continuidad se evalúa como false. Este proceso se puede entender mucho mejor con un ejemplo: El bucle while nos permite repetir la ejecución de una serie de instrucciones mientras que se cumpla una condición de continuidad. Su uso resulta recomendable cuando no conocemos a priori el número de iteraciones que debemos realizar. Este es el formato general del bucle while: Sintaxis: while (condición-de-continuidad){ // Instrucciones a ejecutar de forma repetitiva Observe que si la condición no es verdadera, el cuerpo del bucle no se ejecutaría ni una vez. A continuación hay un ejemplo con el bucle while; en este caso, se visualiza un valor, se le va restando 1 y después se visualiza el resultado siempre y cuando sea positivo. Cuando el valor llega a 0, el bucle while se para porque la condición (value > O) es falsa: 4.2.3 Ciclo do-while El ciclo while puede presentar otra posible sintaxis, esto mediante el ciclo do-while, el cual nos permite ejecutar una serie de instrucciones al menos una vez antes de verificar que una condición de continuidad se cumpla. Sintaxis do{ // Instrucciones a ejecutar de forma repetitiva al menos una vez } while (condición-de-continuidad) Observe que si la condición no es verdadera, el cuerpo del ciclo si se ejecutaría al menos una vez. A continuación tenemos un ejemplo con el ciclo do-while: