miércoles, 30 de octubre de 2013

ESTRUCTURAS DE PROGRAMACIÓN - II

Bifurcaciones Las bifurcaciones permiten ejecutar una de entre varias acciones en función del valor de una expresión lógica o relacional. Se tratan de estructuras muy importantes ya que son las encargadas de controlar el flujo de ejecución de un programa. Existen dos bifurcaciones diferentes: ify switch. 

  Bifurcación if 
Esta estructura permite ejecutar un conjunto de sentencias en función del valor que tenga la expresión de comparación (se ejecuta si la expresión de comparación tiene valor true). Tiene la forma siguiente:

if (booleanExpression) {
statements;
}

Las llaves {} sirven para agrupar en un bloque las sentencias que se han de ejecutar, y 110 son necesarias si sólo hay una sentencia dentro del if. 

 Bifurcación if else Análoga a la anterior, de la cual es una ampliación. Las sentencias incluidas en el else se ejecutan en el caso de 110 cumplirse la expresión de comparación (false).

if (booleanExpressionl) {
statements1;
} else if (booleanExpression2) {
statements2;
} else if (booleanExpression3) {
statements3;
} else {
statements4;
}
int numero = 61;          // La variable "numero" tiene dos dígitos
if(Math.abs(numero) < 10) // Math.absO calcula el valor absoluto. (false)
System.out.println("Numero tiene 1 dígito ");
else if (Math.abs(numero) < 100) // Si numero es 61, estamos en este caso (true)
System.out.println("Numero tiene 1 dígito ");
else {                    // Resto de los casos
System.out.println("Numero tiene mas de 3 dígitos ");
System.out.println("Se ha ejecutado la opcion por defecto ");
}

Sentencia switch Se trata de una alternativa a la bifurcación if elseif else cuando se compara la misma expresión con distintos valores. Su forma general es la siguiente:
switch (expression) {
case valuel:  statementsl;  break;
case value2:  statements2;  break;
case value3:  statements3;  break;
case value4:  statements4;  break;
case value5:  statements5;  break;
case value6:  statements6;  break;
[default: statements7;]

Las características más relevantes de switcli son las siguientes: 
1. Cada sentencia case se corresponde con un único valor de expression. No se pueden establecer rangos o condiciones sino que se debe comparar con valores concretos. El ejemplo del Apartado 2.3.3.3 no se podría realizar utilizando switch.
2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en default. que es opcional.
3. En ausencia de break, cuando se ejecuta una sentencia case se ejecutan también todas las case que van a continuación, hasta que se llega a un break o hasta que se termina el switch. Ejemplo:

char c = (char)(Math.random()*26+'a1); // Generación aleatoria de letras minúsculas
System.out.println("La letra " + c );
switch (c) {
case
'a'
//
Se
compara
con
la
letra
a
case
'e'
//
Se
compara
con
la
letra
e
case
'i'
//
Se
compara
con
la
letra
i
case
'o'
//
Se
compara
con
la
letra
o
case
1 u1
//
Se
compara
con
la
letra
u
System.out.println(" Es una vocal "); break;
default:
System.out.println(" Es una consonante ");
}

No hay comentarios:

Publicar un comentario