Anda di halaman 1dari 2

Programacin en Java/Sentencia for

< Programacin en Java

Trabajamos con casos de interaccin en donde a priori no conocamos la cantidad de


ciclos que se ejecutaban hasta cumplir con una condicin. Para esto utilizamos la
sentencia while. Pero ahora estudiaremos con ms detalle aquellos casos en donde se
sabe de antemano cuantos ciclos se deben cumplir para terminar la ejecucin.
Imprimiremos una tabla de multiplicar hasta el factor noveno. Si no utilizamos ninguna
estructura de interaccin, deberamos imprimir nueve lneas de cdigo secuencial.
System.out.println("3 x 1 = 3");
System.out.println("3 x 2 = 6");
System.out.println("3 x 3 = 9");
System.out.println("3 x 4 = 12");
System.out.println("3 x 5 = 15");
System.out.println("3 x 6 = 18");
System.out.println("3 x 7 = 21");
System.out.println("3 x 8 = 24");
System.out.println("3 x 9 = 27");

Pero ya conocemos las estructuras que nos ahorran el esfuerzo de escribir tanto cdigo.
Utilizaremos una sentencia que ya conocemos: el while
int factor = 1;
while ( factor <= 9 ) {
System.out.println("3 x " + factor + " = " + 3*factor );
factor++;
}

Utilizamos la variable factor para contar la cantidad de lneas que imprimimos.


Primeramente la inicializamos en uno. Cuando se ejecuta la interaccin se controla que no
supere su valor de 9. Si el valor es menor o igual que nueve, imprime una lnea de la tabla
e incrementa a uno el valor de factor. Cualquier caso de interaccin que se complete en
una cantidad prefijada de ciclos, necesitamos una variable de control. Si utilizamos la
sentencia while, esta variable se debe definir e inicializar antes del bucle y contar con una
instruccin que modifique su valor dentro del bucle.
Veremos como este cdigo cambia ligeramente si en lugar de while presentamos una
nueva sentencia denominada for
for ( int factor = 1; factor <= 9; factor ++ ) {
System.out.println("3 x " + factor + " = " + 3*factor );
}

la sentencia for me permite repetir un ciclo n veces, en donde se debe determinar el valor
inicial y cuantas veces se repetira.
sintaxis

for({valor inicial};{condicin de termino};{factor de incremento del


valor inicial}){
//ac va lo que se repetir n veces de acuerdo a la condicin de
termino
}

Bucle infinito: no hay control, entonces no se detiene


for ( ;;){}

Operador coma :
for ( int k=1, j=10 ;k < j ;k++ ,j-- ){
System.out.println(k + " " + j);
}

for mejorado[editar]
Supongamos que tenemos un arreglo de enteros que deseamos presentar en pantalla,
usando la orden for tradicional (en cuyo caso solo se realizar la primera linea de cdigos
que tengamos debajo de la sentencia), el cdigo, podra quedar as:
int[] laiEnteros = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i = 0; i < 10; i ++)
System.out.println (laiEnteros[i]);

Java ofrece una funcionalidad extra para la orden for, mediante la que se puede simplificar
notablemente el codigo anterior, quedando as:
int[] laiEnteros = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int liElemento : laiEnteros)
System.out.println (liElemento);

En este caso, liElemento toma el valor de cada uno de los elementos de laiEnteros,
permitiendo una navegacin ms simple, puesto que se evitan posibles errores derivados
del uso de los arreglos en forma directa. Tambin se puede usar esta forma, para
estructuras ms complejas como objetos de la clase Collection
public void Presenta (Collection <Integer> poConjunto){
for (Iterator <Integer> loElemento : poConjunto)
System.out.println (loElemento)
}

Anda mungkin juga menyukai