Control de flujo
El más básico, sencillo y utilizado es el if-else.
Dado que else es opcional, se puede escribir de
dos formas:
if (expresión booleana)
sentencia
o
if (expresión booleana)
sentencia
else
sentencia
En general, cada vez que aparezca de ahora en adelante la palabra sentencia
podrá significar dos cosas: una es una sentencia simple terminada en un punto
y coma y otra es una serie de sentencias agrupadas mediante llaves. Esta
construcción permite ejecutar la sentencia primera si la expresión lógica
es verdadera. En caso de que sea falsa (y de que el
if-else esté en la segunda forma) se ejecutará
la segunda sentencia.
Para bifurcar también existe el switch:
switch (expresión) {
case valor1: sentencia; break;
case valor2: sentencia; break;
case valor3: sentencia; break;
// ...
default: sentencia;
}
La estructura switch compara el valor contenido en la expresión con cada uno de
los valores situados después del case, ejecutando en caso de que exista
coincidencia el código situado a la derecha de los dos puntos. Ese código no
se engloba mediante llaves. Si no existe coincidencia, se ejecuta la sentencia
default.
Vamos a ver ahora las distintas estructuras que nos ofrece Java para realizar
iteraciones. Las más genéricas son while y
do-while:
while (expresión booleana)
sentencia
y
do
sentencia;
while (expresión booleana)
En ambos casos se ejecutará la sentencia mientras se cumpla la expresión
booleana. La diferencia consiste en que en el primer caso esa expresión se
comprueba antes de iterar (ejecutar la sentencia) y en el segundo después. Por
tanto, en ese último caso, la sentencia se ejecutará al menos una vez.
Otra iteración interesante es el bucle for:
for (inicialización; expresión booleana; paso)
sentencia
En este caso lo primero que hará será ejecutar las sentencias (separadas por
comas) contenidas en inicialización, luego
comprobará si es cierta la expresión booleana y
ejecutará el código de sentencia. Finalmente
ejecutará las sentencias (separadas por comas) contenidas en
paso y comprobará de nuevo la
expresión booleana.
Por último, conviene recordar el uso de return.
Se utiliza para devolver un valor de retorno en los métodos (en caso de que
éstos no devuelvan void). Pero también
conviene destacar que en el momento que se llega a return, el programa sale
del método que se esté ejecutando.