If Else Java
If Else Java
If Else Java
Programacin en Java/Sentencia if-else } } El programa nos qued mas completo. Con la clusula else incluimos otra alternativa de accin. Pero algo anda suelto. Este programa siempre muestra un resultado, se cumpla o no la condicin. El mensaje por pantalla no est incluido en la estructura de seleccin. Tendremos que colocarlo dentro del sector de sentencias que se ejecutarn cuando la condicin sea verdadera. Para agrupar las sentencias se utilizan las llaves ( { } ) Indicarn el inicio y el fin de un bloque de sentencias. Probemos como queda con un bloque public class DivisionSegura { public static void main(String args[]){ int x = 12; int y = 2; int z = 0; if( y !=0 ) { z = x / y; System.out.println("El resultado es : " + z); } else { System.out.println("Atencin! se pretende dividir por 0"); } } } Las buenas prcticas en defensa de un cdigo mantenible han dictaminado que utilicemos las llaves en todo momento, an en el caso que utilicemos una sola sentencia. if (condicin) { sentencia; } else { sentencia; } Lamentablemente no siempre nos encontraremos con condiciones tan sencillas. Muchas veces tendremos que recurrir a proposiciones compuestas para formar una condicin. Para ello podemos recurrir a operadores relacionales o lgicos. Recuerden que siempre debe dar como resultado un valor booleano. Supongamos que deseamos saber si un ao es bisiesto. Sabemos que debe ser mltiplo de 4. Para esto tendremos que verificar si el mdulo es igual a cero. ao % 4 == 0 Pero no debe ser mltiplo de 100. ( ao % 4 == 0 ) && ( ao % 100 != 0 ) A menos que sea mltiplo de 400. ((( ao % 4 == 0 ) && ( ao % 100 != 0 )) || ( ao % 400 == 0 )) Formamos una proposicin compuesta con conectores lgicos. Ahora vamos a incorporarlo en una estructura se seleccin.
Programacin en Java/Sentencia if-else if ((( ao % 4 == 0 ) && ( ao % 100 != 0 )) || ( ao % 400 == 0 )) { System.out.println("Es bisiesto"); } else { System.out.println("No es bisiesto"); } Los conectores lgicos nos permiten simplificar la estructura. Sin ellos nos veramos en la necesidad de anidar las sentencias. Veamos que ocurre si en elejemplo anterior descartamos el AND y el OR. if ( x % 4 == 0 ) { if ( x % 100 == 0 ) { if ( x % 400 == 0 ) { System.out.println("Es bisiesto"); } else { System.out.println("No es bisiesto"); } } else { System.out.println("Es bisiesto"); } } else { System.out.println("No es bisiesto"); } Parece complicado, pero nos demuestra muchas cosas. En primer lugar observamos que se pueden anidar las sentencias if-else. Cada resultado de una condicin puede caer en una nueva comprobacin para formar una estructura compleja de seleccin. Tambin vemos que hay cierta relacin entre conectores lgicos y la estructura.
Conjuncin if (condicin1 && condicin2){ sentecia1; } else { sentencia2; } if ( condicin1 ) { if ( condicin2 ) { sentencia1; } else { sentencia2; } } else { sentencia2; }
Disyuncin if ( condicin1 || condicin2 ) { sentencia1; } else { sentencia2; } if ( condicin1 ){ sentencia1; } else { if ( condicin2 ) { sentencia1; } else { sentencia2; } }
Negacin
4
if ( condicin1) { sentencia2; } else { sentencia1; }
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/