← Java EspañolChapter 04 of 13

Control de Flujo

## Objetivos de Aprendizaje - Dominar las sentencias if, else if, else - Comprender las sentencias switch - Aprender los ciclos for, while, do-while - Usar break y continue ## Sentencia if ### if Básico ```java int age = 18; if (age >= 18) { System.out.println("Adult"); } ``` ### if-else ```java int age = 15; if (age >= 18) { System.out.println("Adult"); } else { System.out.println("Minor"); } ``` ### if-else if-else ```java int score = 85; char grade; if (score >= 90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else if (score >= 60) { grade = 'D'; } else { grade = 'F'; } System.out.println("Grade: " + grade); ``` ## Operador Ternario ```java int age = 20; String status = (age >= 18) ? "adult" : "minor"; ``` ## Sentencia switch ### switch Básico ```java int day = 3; String dayName; switch (day) { case 1: dayName = "Monday"; break; case 2: dayName = "Tuesday"; break; case 3: dayName = "Wednesday"; break; case 4: dayName = "Thursday"; break; case 5: dayName = "Friday"; break; case 6: dayName = "Saturday"; break; case 7: dayName = "Sunday"; break; default: dayName = "Invalid"; } System.out.println(dayName); ``` ### Switch con Flecha (Java 14+) ```java String dayName = switch (day) { case 1 -> "Monday"; case 2 -> "Tuesday"; case 3 -> "Wednesday"; case 4 -> "Thursday"; case 5 -> "Friday"; case 6 -> "Saturday"; case 7 -> "Sunday"; default -> "Invalid"; }; ``` ### Múltiples Casos ```java switch (month) { case 1, 3, 5, 7, 8, 10, 12: days = 31; break; case 4, 6, 9, 11: days = 30; break; case 2: days = 28; break; } ``` ## Ciclo for ### for Básico ```java for (int i = 0; i < 5; i++) { System.out.println(i); // 0, 1, 2, 3, 4 } ``` ### for Mejorado (for-each) ```java int[] numbers = {1, 2, 3, 4, 5}; for (int num : numbers) { System.out.println(num); } ``` ### Con Múltiples Variables ```java for (int i = 0, j = 10; i < 5; i++, j--) { System.out.println(i + " - " + j); } ``` ## Ciclo while ### while Básico ```java int i = 0; while (i < 5) { System.out.println(i); i++; } ``` ### while con Condición Primero ```java Scanner scanner = new Scanner(System.in); String input; while (scanner.hasNext()) { input = scanner.next(); if (input.equals("quit")) { break; } System.out.println("You entered: " + input); } ``` ## Ciclo do-while ### Ejecuta al Menos Una Vez ```java int i = 0; do { System.out.println(i); i++; } while (i < 5); ``` ### Ejemplo de Menú ```java Scanner scanner = new Scanner(System.in); int choice; do { System.out.println("1. New Game"); System.out.println("2. Load Game"); System.out.println("3. Quit"); System.out.print("Choose: "); choice = scanner.nextInt(); } while (choice < 1 || choice > 3); ``` ## break y continue ### break - Salir del Ciclo ```java for (int i = 0; i < 10; i++) { if (i == 5) { break; // Salir cuando i es 5 } System.out.println(i); // 0, 1, 2, 3, 4 } ``` ### continue - Saltar Iteración ```java for (int i = 0; i < 5; i++) { if (i == 2) { continue; // Saltar cuando i es 2 } System.out.println(i); // 0, 1, 3, 4 } ``` ## Ciclos Anidados ```java for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.printf("(%d,%d) ", i, j); } System.out.println(); } // Salida: // (0,0) (0,1) (0,2) // (1,0) (1,1) (1,2) // (2,0) (2,1) (2,2) ``` ## Etiquetas ### Ciclos con Nombre ```java outer: for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (j == 2) { break outer; // Rompe el ciclo externo } System.out.println(i + "," + j); } } ``` ## Patrones Comunes ### Sumar 1 a N ```java int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } ``` ### Buscar en Arreglo ```java int[] numbers = {3, 7, 2, 9, 4}; int target = 9; for (int num : numbers) { if (num == target) { System.out.println("Found!"); break; } } ``` ### Contar Coincidencias ```java int[] numbers = {1, 2, 3, 2, 4, 2, 5}; int target = 2; int count = 0; for (int num : numbers) { if (num == target) { count++; } } System.out.println("Count: " + count); ``` ## Resumen - if/else if/else para lógica condicional - switch para múltiples valores discretos - ciclo for para iteraciones conocidas - ciclo while para iteración basada en condición - do-while para iteración de al menos una vez - break sale del ciclo; continue salta la iteración - Usa etiquetas para control de ciclos anidados

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →