SENTENCIAS DE CONTROL
Las sentencias de control o de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.
Toma de decisiones:
If-else: Esta sentencia vendria dado por lo que se le indique en el IF (SI en ingles), si se cumple, terminara la sentencia, sino pasara al ELSE (SINO en ingles) y terminara la sentencia. Por ejemplo veamoslo del siguiente modo:
int num1 = 1
int num2 = 2
if (num1 == num2 )
System.out.println("Ambos numeros son iguales")
else
System.out.println("Ambos numeros no son iguales")
for (inicio;condición;repetición){}: Si se cumple la condición que hay dentro del parentesis, pasara a ejecutar lo que haya dentro de las llaves, mientras que lo que haya dentro de las llaves cumpla la condicion que le hayamos dado el bucle no terminara.
for (int i=0;i<10;i++) {
System.out.println(i+1);
}
Primero declaramos un entero que se llamara i cuyo valor inicial sera 0.
Segundo le decimos que i tiene que ser menor que 10.
Tercero, si se cumplen las otras dos condiciones entonces que incremente i en 1.
while (condición) {}: While en verdad es un poco mas sencillo que for, ya que mientras que la condición del paréntesis sea cierta, se seguirá ejecutando infinitamente.
Switch (variable) {case num1; "instrucciones" break; case num2; "instrucciones" break;}: La sentencia switch es un tanto compleja y su uso no es muy extendido, ya que normalmente se puede sustituir por un if. Switch solo se puede utilizar para evaluar ordinales (por ordinal entenderemos en general valores numéricos enteros). Por tanto no podemos evaluar cadenas (String) usando switch porque el compilador nos devolverá un error de tipo "found java.lang.String but expected int". No permite evaluar intervalos (pertenencia de la expresión a un intervalo o rango) ni expresiones compuestas. Código de ejemplo:
public void dimeSiEdadEsCritica(){
switch (edad){
case0:
System.out.printin ("Acaba de nacer hace poco. No ha cumplido el año")
break;
case 18: System.out.printin ("Esta justo en la mayoria de edad"); break;
case 65: System.out.printin ("Esta en la edad de jubilacion"); break;
default: System.out.printin ("La edad no es critica"); break;
}
}
do {....} while (condición): El bloque dentro de la palabra clave do, se ejecutará al menos una vez y si la condición de while se cumple, se repetirá mientras sea cierta.
Break: Interrumpe un bloque y se ejecuta la siguiente linea fuera de el.
Continue: Interrumpe el resto del código del bloque y vuelve a empezar y vuelve a empezar con la siguiente instrucción.
Return: Interrumpe el método entero y devuelve el tipo de datos de la derecha al punto donde se llamó a la función.
Try {} Catch {} Finally {}: Este bloque se utiliza en Java para la gestión de errores. Es posible que algunos problemas no hayan sido detectados y surjan durante la ejecución. Para estos problemas aparece Exception, que es un cierto tipo de error que se ha producido después de la compilación. Algunas excepciones son fatales y provocan que se deba finalizar la ejecución del programa. En este caso conviene terminar ordenadamente y dar un mensaje explicando el tipo de error que se ha producido. Para esto existe el bloque try-catch-finally. Si se produce un error y se lanza este bloque como consecuencia de una excepción, el control pasa al bloque catch que se hace cargo de la situación y decide lo que hay que hacer. Se pueden incluir todos los bloques catch como se quiera, cada uno con un tipo de excepción. Finalmente, si está presente, se ejecuta el bloque finally, que es opcional, pero es recomendable siempre ya que se ejecuta siempre, sea cual sea el tipo de error. En caso de que el código de un método pueda generar una Exception y no se quiera incluir en dicho método la gestión del error, es necesario que el método pase la Exception al método desde el que ha sido llamado, y esto se consigue añadiendo la palabra throws seguida del nombre de la Exception concreta, después de la lista de argumentos del método. Así, el método superior deberá incluir los bloques try-catch o volver a pasar la Exception. De esta forma se puede ir pasando la Exception de un método a otro hasta llegar al último método del programa.