Implantación de Aplicaciones Web

UT3. Programación orientada a objetos. Programación Java

3. Sentencias de Control

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.

  • Sentencias Condicionales
  • Sentencias Iterativas (Bucles)
  • Sentencias de Salto
  • Excepciones

Sentencias Condicionales

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
  • Switch
  • Operador Ternario ?

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.

Sentencias Iterativas (Bucles)

Las sentencias iterativas se utilizan para repetir una parte determinada del código un número fijo de veces.

Existen de tres tipos:

  • While
  • Do...while
  • For

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;
}
			

Sentencias de Salto

Su objetivo es la finalización de ejecución de un bloque. Existen los siguientes tipos:

  • Break: rompe la ejecución de un bloque.
  • Continue: obliga a una nueva iteración de una sentencia de tipo iterativa (bucle), comprobando la condición en caso de while o for, o ejecutando la primera sentencia del bloque asociado al bucle en el caso de do...while.
  • Return: rompe la ejecución de una función (método).

Excepciones

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) {...}
			

Recursos

http://slashmobility.com/slash/cursos/fundamentos-java/Curso-Java-Inicial-3-Sentencias-de-Control-de-Flujo.pdf

http://proton.ucting.udg.mx/tutorial/java/Cap1/flujo.html

http://tabasco.torreingenieria.unam.mx/gch/Curso%20de%20Java%20CD/Documentos/froufe/parte4/cap4-4.html