CORPORACIÓIN UNIFICADA NACIONAL CUN PROGRAMACIÓN ORIENTADA A OBJETOS DIANA E. LÓPEZ CICLOS REPETITIVOS 1. sentencia for: Proporciona una forma compacta de recorrer un rango de valores. Los programadores a menudo se refieren a ella como el «bucle for» por la forma en la que recorre su bloque hasta que se satisfaga la condición indicada. La forma general de la sentencia for se puede expresar del siguiente modo: for (inicialización; terminación; incremento) { sentencia(s) } Al usar esta versión de la sentencia for tenga en cuenta que: • La expresión inicialización inicializa el bucle, se ejecuta una sola vez cuando el bucle empieza. • El bucle termina cuando la expresión terminación evalúa a false. • La expresión incremento se invoca después de cada iteración por el bucle; es perfectamente aceptable que esta expresión incremente o decremente un valor. La salida de este programa será Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: 1 2 3 4 5 6 7 8 9 10 Fíjese en cómo el código declara una variable dentro de la expresión de inicialización. El ámbito de esta variable se extiende desde su declaración hasta el final del bloque perteneciente a la sentencia for, por lo tanto también se puede usar en las expresiones de terminación e incremento. Es mejor declarar la variable que controla una sentencia for en la expresión de inicialización si ésta no es necesaria fuera del bucle. A menudo se utilizan los nombres i, j y k para controlar los bucles for; al declararlas dentro de la expresión de inicialización se limita su tiempo de vida y se reduce la posibilidad de error. Las tres expresiones del bucle for son opcionales; se puede crear un bucle infinito del siguiente modo: for ( ; ; ) { // bucle infinito // el código va aquí } La sentencia for también tiene otra forma diseñada para la iteración a través de Colecciones Arreglos. Otro ejemplo La salida de este programa será La La La La La suma suma suma suma suma es: es: es: es: es: 1 3 6 10 15 2. Las sentencias while y do-while 2.1 La sentencia while ejecuta un bloque de sentencias continuamente mientras una condición sea verdadera «true». Su sintaxis se puede resumir así: while (expresión) { sentencia(s) } La sentencia while evalúa expresión, que debe devolver un valor boolean. Si la expresión evalúa a true, la sentencia while ejecuta la(s) sentencia(s) que hay en el bloque while. La sentencia while continúa evaluando la expresión y ejecutando su bloque hasta que la expresión evalúe a false. Podemos usar la sentencia while para imprimir los valores del 1 al 10 como se muestra en el siguiente programa: La salida de este programa será Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: 1 2 3 4 5 6 7 8 9 10 Otro ejemplo Sumar los 10 primeros números y hallar el promedio de la suma La salida de este programa será: La suma de los 10 valores es _____ 2.2 El lenguaje de programación Java también proporciona la sentencia do-while, que se puede expresar así: do { sentencia(s) } while (expresión); La diferencia entre do-while y while es que do-while evalúa su expresión al final en lugar de al inicio. Por lo tanto las sentencias del bloque do siempre se ejecutan al menos una vez, como se muestra en el siguiente programa. class DoWhileDemo { public static void main(String[] args){ } } La salida de este programa será Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: 1 2 3 4 5 6 7 8 9 10 11 Otro ejemplo Escribir un programa que solicite la carga de un número entre 0 y 999, y nos muestre un mensaje de cuántos dígitos tiene el mismo. Finalizar el programa cuando se cargue el valor 0. La salida de este programa será Dependiendo de los valores si digito 300 Tiene tres digitos