Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
selección en Java
“If-Else”
21/01/2010
A menudo nos encontremos con programas o algoritmos en donde las acciones se
ejecutarán de acuerdo a una condición. Tenemos dos o más alternativas de acción y solo
una de estas tendrá lugar.
Por ejemplo, supongamos que estamos conduciendo un vehículo y en un cruce de calles nos
encontramos con un semáforo. Si la luz del semáforo es roja nos detenemos. De otro modo
seguiremos manteniendo la velocidad. Aquí se nos presentan dos alternativas: continuar
con la marcha o frenar. Estas acciones se realizarán según una condición: si la luz del
semáforo es roja. Podemos especificar este ejemplo mediante un pseudolenguaje que
describa la condición.
Si luz_del_semáforo = rojo
Entonces
velocidad_del_vehículo = 0
Estamos frente a una selección simple: tenemos dos alternativas. Este tipo de selección la
condición toma un valor lógico de verdadero o falso. Se tienen que especificar las acciones
que deben ocurrir si la condición es verdadera. Opcionalmente se puede indicar que debe
ocurrir si la condición es falsa. Para lo último veamos un ejemplo.
Si luz = rojo
Entonces
Frenar
De otro modo
Queremos realizar una división de enteros. Es fácil, ya sabemos cómo hacerlo, utilizando
variables y operadores. Pero queda un problema, la división por cero. Podemos establecer
una condición que permita la división para todos los números y que rechace cualquier
divisor con cero en el divisor. Disponemos de dos opciones: realizar o no la división.
También se puede realizar otra condición que el divisor sea distinto de cero.
if (condición) sentencia;
La condición es una expresión que arroja un valor booleano. En este caso se utiliza un
operador de relación que verifica si y es distinto de 0. Si esta condición se cumple realiza la
división. En caso contrario se salta la división y solo imprime el valor de z, que hemos
inicializado convenientemente con un valor de 0 antes de la operación.
¿Qué ocurre si la condición no se cumple? En este caso nada. Podemos agregar una serie de
instrucciones que se ejecutarán solo si la condición no se cumple. Para esto tendremos que
agregar la sentencia else. La estructura de selección quedará así:
1
Una expresión booleana es una sucesión de símbolos que incluye 0,1, algunas variables x, y, z y
las operaciones booleanas (and, or, etc.)
Si la condición es verdadera se ejecuta la sentencia 1 en caso contrario se ejecuta la
sentencia 2. Ambas sentencias nunca se ejecutarán al mismo tiempo, son excluyentes.
Ahora ampliemos el programa para mostrar una advertencia en el caso que se encuentre
cara a cara con un cero siniestro.
El programa quedó más completo. Con la cláusula else incluimos otra alternativa de acción.
Para agrupar las sentencias se utilizan las llaves { } Indicarán el inicio y el fin de un bloque
de sentencias.
Las buenas prácticas en defensa de un código mantenible han dictaminado que utilicemos
las llaves en todo momento, aún en el caso que utilicemos una sola sentencia.
if(condición) {
Sentencia;
}
else {
Sentencia;
}
2
Los operadores relacionales, también denominados operadores binarios lógicos y de comparación, se
utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se
trata respuestas a preguntas).
OPERADORES LÓGICOS
OPERADOR Símbolo
Menor que
<
Mayor que
>
Menor o igual que
<=
Mayor o igual que
>=
Igual que (identidad)
==
Desigual que (desigualdad)
!=
La forma en que se escriben las condiciones es:
CONDICIONES DOBLES
Negación
if ( ! condición1) { if ( condición1) {
sentencia1; sentencia2;
} else { } else {
sentencia2;
}