Las secuencias de control determinan el orden en que se ejecutarán las otras sentencias dentro del programa. Las secuencias de control que usa Java las podemos clasificar en los siguientes grupos.
Las sentencias condicionales se basan en la evaluación de una expresión y en función del resultado ejecutar un bloque de código u otro.
Encontramos tres tipos de sentencias condicionales que son las más usadas en Java
If...else
Si la expresión condicional se evalúa a true se ejecutará el bloque asociado con la parte if. Por el contrario, si se evalua a false, se ejecutará el bloque asociado a la parte else.
package media; import java.io.*; public class Media { public static void main(String[] args) throws IOException { BufferedReader in=new BufferedReader(new InputStreamReader (System.in)); int numero; System.out.println("Escribe tu nota para saber si hace media"); numero= Integer.valueOf(in.readLine().trim()).intValue(); if (numero>=5) { System.out.println("Estas aprobado"); } else { System.out.println("Estas suspenso"); } } }
Switch
Sustituye a muchos if...else anidados. Se compara la expresión dada con cada case que contiene dicho switch. Esta estructura cuenta con una parte default que es optativa y que se ejecuta cuando el resto de los case no se ejecutan. También a esta estructura podemos añadir en cada bloque case la sentencia break que evita ejecutar el resto del código.
package dias; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Dias { public static void main(String[] args) throws IOException { BufferedReader in=new BufferedReader(new InputStreamReader (System.in)); int mes; System.out.println("Introduceme el mes en el que estas"); mes= Integer.valueOf(in.readLine().trim()).intValue(); switch (mes) { case 11: System.out.println("Apunto de empezar con los examenes"); break; case 12: System.out.println("Extres total, epoca de examenes"); break; case 3: System.out.println("Apunto de terminar, animo!"); break; default: System.out.println("Sin examenes pero con trabajos"); } } }
Operador Ternario ?
expresionCondicional ? expresion1 : expresion2
La expresion1 siempre se evaluará cuando la expresionCondicional sea true, en caso de ser false se evaluará la expresion2.
Las sentencias iterativas se utilizan para repetir una parte determinada del código un número fijo de veces.
Existen de tres tipos:
While
Evaluamos la sentenciaCondicional y si su valor es true procedemos a ejecutar el bloque de código que contiene el bucle hasta que la sentenciaCondicional devuelva el valor false.
while (sentenciaCondicional) { sentencia1; ... sentenciaN; }
Do...while
Es lo mismo que el anterior, salvo que la expresionCondicional que tiene el while se ejecuta posteriormente a la ejecución del código asociado.
do { sentencia1; ... sentenciaN; } while (expresionCondicional)
For
El bucle For es una estructura que nos sirve para la ejecución de un contador dentro del código. Este bucle inicializa el contador, lo deja ejecutarse hasta un número determinado de veces y además lo incrementa con forme se repite el código.
for (i=[inicializacion]; i<[nº de veces que se repite; i++ [incremento]) { sentencia1; ... sentenciaN; }
Su objetivo es la finalización de ejecución de un bloque. Existen los siguientes tipos:
try-catch-throw
Java implementa excepciones para facilitar la construcción de código robusto. Cuando ocurre un error en un programa, el código que encuentra el error lanza una excepción, que se puede capturar y recuperarse de ella.
try { ... } catch (Clase_Excepcion nombre) {...}