ESTRUCTURAS REPETITIVAS
Los bucles for, while y
do-while en Java son fundamentales para controlar la repetición de código,
permitiendo iteraciones eficientes según el número de repeticiones conocidas o
condiciones dinámicas. A continuación, amplío cada concepto con sintaxis
detallada, ejemplos prácticos y casos de uso.
Bucle For
El bucle for es el más
estructurado y se usa cuando conoces exactamente cuántas veces quieres repetir
el código, como recorrer arreglos o contar hasta un límite. Su sintaxis
completa es for (inicialización; condición; actualización) { código; },
donde la inicialización (ej. int i=0) ocurre una sola vez al inicio, la
condición se evalúa antes de cada iteración (si es falsa, sale del bucle) y la
actualización (ej. i++) se ejecuta al final de cada ciclo.
for (int i = 0; i < 5;
i++) {
System.out.println("Iteración: "
+ i);
}
Esto imprime del 0 al 4. También existe
el for-each (mejorado desde Java 5) para colecciones: for
(String nombre : nombres) { ... }, ideal para recorrer sin índices.
Bucle While
El while verifica la
condición antes de ejecutar el bloque, por lo que si es falsa
desde el principio, el código ni siquiera se ejecuta una vez.
Sintaxis: while (condición) { código; }. Es perfecto para bucles
indefinidos donde esperas un cambio externo, como procesar entradas hasta que
el usuario escriba "salir".
Ejemplo:
int contador = 0;
while (contador < 5) {
System.out.println("Contador: " +
contador);
contador++;
}
Si inicializas contador en 10, no
imprime nada. Requiere cuidado para evitar bucles infinitos;
usa break para salir prematuramente.
Bucle Do-While
El do-while es único
porque ejecuta el bloque al menos una vez y verifica la
condición después: do { código; } while (condición);. Esto
garantiza una ejecución inicial, ideal para menús o validaciones donde primero
actúas y luego decides repetir.
int numero;
do {
System.out.print("Ingresa un número positivo: ");
numero = scanner.nextInt();
} while (numero <= 0);
Aquí, siempre pide al menos una entrada,
incluso si el usuario ingresa 0 de inmediato. El punto y coma final es
obligatorio.
EJEMPLOS
package javaapplication4;
import java.util.Scanner;
public class
JavaApplication4 {
public static void main(String[] args) {
// Imprime del 1 al 5
for (int i = 1; i <= 5; i++) {
System.out.println("Iteracion: "
+ i);
}
int j = 1;
while (j <= 5) {
System.out.println("Valor: " +
j);
j++; // Incremento para evitar bucle
infinito
}
int w = 1;
do {
System.out.println("Valor: " +
w);
w++;
} while (w <= 5);
String amigo="hola";
for(int z=0;z<amigo.length();z++){
char caracter=amigo.charAt(z);
System.out.println(caracter);
}
System.out.println(amigo);
int suma = 0;
for (int t = 1; t <=
100; t++) {
suma += t;
}
System.out.println("Suma:
" + suma); // Muestra 5050
for (int q = 10; q >=
1; q--) {
System.out.println(q);
}
System.out.println("tabla del
5");
int num1=5;
int resu=1;
for(int
e=0;e<=10;e++){
resu=e*num1;
//resu*=num1;
System.out.printf("%d"+"x"+"%d"+"="+"%d",num1,e,resu);
System.out.println();
}
Scanner sc = new Scanner(System.in);
int opcion;
do {
System.out.println("1.
Saludar");
System.out.println("2.
Salir");
System.out.print("Elija una
opcion: ");
opcion = sc.nextInt();
} while (opcion != 2);
System.out.println("Programa
finalizado.");
Scanner scan = new Scanner(System.in);
String input = "";
while (!input.equals("exit"))
{
System.out.println("Escribe algo
(escribe 'exit' para salir): ");
input = scan.nextLine();
}
scan.close();
int miNumero = 1;
while (miNumero <= 10) {
if (miNumero % 2 == 0) {
System.out.println(miNumero + " es
par");
}
miNumero++;
}
}
No hay comentarios.:
Publicar un comentario