Condicionales en java
Condicional simple : if
La instrucción if proporciona un control sobre un conjunto de instrucciones que pueden ejecutarse o no, dependiendo de la evaluación de una condición. Los dos posibles valores ( true o false) de esta determinan si el bloque de instrucciones if se ejecuta ( condición true ) o no se ejecuta ( condicion false) .
if ( condición ) {
Bloque de instrucciones
.......
}
La siguiente figura nos muestra el flujo de control de un condicional simple, que funciona de la siguiente forma:
- Se ejecuta las instrucciones anteriores a if
- Cuando le llega el turno a if, lo primero que ocurre es que se evalúa la condición. Del resultado de esta se obtiene dos posibles valores : true o false
- En caso de que la evaluación de la condición resulte false, se ejecuta el lado izquierdo ( instrucciones si es falso) y sigue el camino a la siguiente instrucción despues de la estructura if.
- Si por el contrario , la evaluación de la condición es true , se ejecutará el bloque de instrucciónes que contiene if. Este bloque de instrucciones puede albergar cualquier tipo de sentencia, incluido otro if

Condicional doble: if-else
Existe otra versión de la sentencia if, denominada if-else, donde se especifica dos bloque de instrucciones. El primero ( bloque true) se ejecutará cuando la condición resulte verdadera y el segundo( bloque false ) se ejecutará cuando la condición resulte falsa. Ambos bloques son mutuamente excluyentes, es decir, en cada ejecución de la instrucción if-else sólo se ejecutará uno de ellos.
if ( condición ) {
Bloque true // se ejecuta cuando la condición es verdadera
} else {
Bloque false. // se ejecuta cuando la condición es falsa
}

También dentro de esta sentencia, podemos tener if-else anidados,
if( condicion1){
} else {
if ( condicion2 ) {
// instrucciones
} else {
if(Condición3) {
// instrucciones
} else {
// instrucciones
}
}
}
Condicional múltiple: switch
En ocasiones, el hecho de utilizar muchos if o if-else anidados suele producir un código poco legible y difícil de mantener. Para esto casos Java dispone de la sentencia switch, cuya sintaxis es:
switch ( expresión ) {
case expresión_1 :
conjunto de instrucción_1
case expresion_2 :
conjunto de instrucción_2
.................
case expresion N :
conjunto instrucción_N
default:
conjunto instrucción default
}
La dinámica del switch :
- Evalua expresión y obtiene su valor
- Comprueba si el valor obtenido coincide con el valor de la expresión del primer case, es decir, compara el valor de la expresión principal con el valor de expresión 1
- Si no coincide, sigue comprobando las expresiones de los siguientes casos
- Si el valor de la expresión utilizado en alguna cláusual case coincide con el valor de la expresión principal ejecuta el conjunto de instrucciones correspondiente y los sucesivos conjuntos de instrucciones de las instrucciones case que le siguen
- Si no existe coincidencia alguna, en caso de incluir el caso default, se ejecutará su conjunto de instrucciones

Información extraída de :
Jimenez Marín, Alfonso; Perez Montes, Francisco Manuel, 2016 , Aprende a programar con Java, Paraninfo