Sie sind auf Seite 1von 3

ESTATUTO FOR

La estructura de control for permite ejecutar un bloque de instrucciones un nmero determinado de veces
mientras se cumpla una condicin. Es una de las estructuras de control repetitivas ms utilizadas a pesar de que
cualquier bucle for puede reescribirse fcilmente como un bucle while y viceversa.
La sintaxis bsica de la estructura de control for es la siguiente:

La ejecucin de la estructura de control for comienza con la instruccin de inicializacin. Esta instruccin suele
realizar la inicializacin de una variable de control que suele conocerse como centinela. A continuacin se
comprueba la condicin cuyo resultado tiene que ser un valor booleano true o false.
Si la condicin se evala como true se ejcuta el bloque de instrucciones delimitadas por las llaves que solo son
necesarias si hay ms de una instruccin. Despus se ejcuta la instruccin de incremento y vuelve a comprobarse
la condicin. As sucesivamente hasta que la condicin no se cumple.
La inicializacin, la condicin y el incremento son instrucciones opcionales. Aun as sino se utilizan debe de estar
presente el delimitador punto y coma (;). Por ejemplo si omitimos la condicin y el incremento, la estructura de
control for quedara as:

Adems si declaramos una variable en la instruccin de inicializacin como en el ejemplo anterior, sta solo ser
accesible desde el interior de la estructura de control for. Remarco esto porque todava no hemos visto
el mbito de las variables y puede llevar a confusiones, as que de momento saber que solo puede utilizarse
dentro del bucle for.
Vamos a ver el ejemplo:

Funcionamiento del For


1. Ejecuta el o los estatutos de inicializacin
2. Evala la condicin, si es verdadera entra al ciclo
3. Ejecuta el o los estatutos
4. Ejecuta la o las acciones y regresa al paso 2
Notas sobre el For

Ejemplo: for ( ; a > 10 ; a--)

variable solo es reconocida dentro del ciclo.


Ejemplo: for (int num = 1; num < = 10; num++)

Ejemplo 1: Mostrar en pantalla los nmeros pares


Vamos a retomar el ejemplo anterior, donde desebamos sacar los nmeros pares entre el numero 500 y
el 1000, es un ejemplo sencillo con el que nos aseguraremos de haber comprendido bien lo anterior:
Solucin Ejemplo 1:
Como pudimos ver, tenemos entonces que el valor inicial para nuestro ciclo es el nmero 500 y el valor
final es el 1000, adems, dado que necesitamos los nmeros pares vamos a ir de dos en dos, as que el
tamao del paso va a ser 2, teniendo estos tres componentes identificados, estamos listos para crear
nuestro ciclo for as:
public class CicloFor
{
public static void main(String args[])
{
for(int i=500;i<=1000;i+=2)
{
System.out.println(i);
}
}
}

Ejemplo 2: Cuenta regresiva en un ciclo for


Ahora veremos otro ejemplo sencillo en cual haremos que el ciclo for tambin haga sus iteraciones en
sentido inverso, es decir disminuyendo el valor de la variable de controlvamos a imprimir por pantalla una
cuenta regresiva desde el nmero 100 hasta el 0, veamos:
Solucin Ejemplo 2:
Para este caso, debido a que queremos ir de un nmero mayor a uno ms pequeo, por lo tanto para este
ejemplo el valor inicial ser 100 y el valor final ser 0. Adicional, el tamao de paso ser de 1 negativo, es
decir, -1, as:
public class CicloInverso
{
public static void main(String args[])
{
for(int i = 100; i > 0; i--)
{
System.out.println(i);
}
}
}

Ejemplo 3: Contador con un ciclo for


Para este ejemplo haremos algo un poco ms complejo. El ejemplo consiste en contar al interior de un
ciclo for, cuntos nmeros entre el 0 y el 10.000 son mltiplos del 20. Para ello haremos uso del operador
% (mdulo) que obtiene el residuo de una divisin y tambin usaremos un pequeo condicional para
verificar que el mdulo sea cero al dividir por 20.
Nota: El operador de mdulo (%) obtiene el residuo de una divisin, por tanto cuando el residuo es cero
implica que la division es exacta y el dividendo es un mltiplo del divisor. Por ejemplo 10%3 nos dar el
residuto de dividir 10 entre 3, el cual es 1, si calculamos 120%20 nos dar cero, pues 120 es mltiplo de
20 (20 * 6 = 120).

Solucin Ejemplo 3:
Para este caso el valor inicial ser 0 y el valor final ser 10000. Adicional, el tamao de paso ser de 1
(este es el caso ms comn). Al interior del ciclo, en cada iteracin verificaremos si el nmero en el que
estamos es divisible por 20 o no y en caso afirmativo aumentaremos el contador en una unidad as:
Nota: Este problema se puede solucionar de maneras mucho ms optimas y adecuadas, pero para fines
de comprensin y facilidad lo haremos usando un ciclo for de uno en uno.
public class Multiplos
{
public static void main(String args[])
{
int contador = 0; //Iniciamos el contador en cero
for(int i = 0; i <= 10000; i++)
{
if(i % 20 == 0) //Preguntamos si el residuo es 0 (es mltiplo de 20)
{
contador++; //Si es mltiplo aumentamos el contador en 1
}
//Si no es mltiplo no hacemos nada
}
//Mostramos el valor del contador
System.out.println(contador);
}
}

Das könnte Ihnen auch gefallen