EXES
CRÉDITOS
ÍNDICE DEL MANUAL
PRÓLOGO
EL LENGUAJE JAVA
BIBLIOGRAFÍA
EXES. LA COMPAÑÍA
 
Área de Programación y Desarrollo
  Curso de Introducción a Java
www.exes.es
Tel: 902 360 417
 Exes   Contactar 

4.4.8.2 Instrucciones Condicionales

Java proporciona las instrucciones if/else, switch y el operador ternario para poder tomar decisiones en función del resultado de la evaluación de una condición o variable.

La instrucción if tiene la siguiente estructura:

         if (condición)
         {
		         //Código a ejecutar si condición es true
         } 
         else
         {
		         //Código a ejecutar si condición es false
         }
         

Esta instrucción evalúa la expresión condición, y si es true, ejecuta el código que hay entre las llaves que hay debajo de if. Si condición fuese false el código a ejecutar seria el contenido entre las llaves que existen debajo de else.

La parte else es opcional, es decir, esto también es correcto:

         if (condición)
         {
		         //Código a ejecutar si condición es true
         } 
         

En este caso si condición es false no sucede nada, la instrucción no ejecuta ninguna instrucción.

Otra simplificación también correcta es que en caso de que sólo exista una instrucción dentro de las llaves (del if, o del else) se pueden eliminar las llaves, es decir:

         if (condición)   //instrucción a ejecutar si condición es true; 
         else             //instrucción a ejecutar si condición es false;
         

Lo que no está permitido eliminar en ningún caso, son los puntos y coma de las instrucciones que empleemos en la parte verdadera (if) o falsa (else), tengamos o no las llaves.

Práctica:
Vamos a construir una clase java que permita recibir un parámetro al ejecutar la clase y comprobemos que existe al menos un parámetro, y en caso de que exista que lo visualice.
  • Construyamos la clase if1.java
  • Agreguemos el siguiente código:
            public class If1{
	            public static void main(String arg[]){
		            if ( arg.length>0) {
			            System.out.println(" Al menos hay un parámetro, y el primero es: " + arg[0] );
		            } 
		            else
		            {
			            System.out.println("No hay ningún parámetro");
		            }
	            }
            }
            
  • Ejecutar sin pasar nigún parámetro, o pasando al menos un parámetro y comprobemos lo que sucede.

La instrucción switch permite ejecutar código, pero dependiente del valor de una variable:

         switch (variable)
         {
	         case val1:
		         ------
		         ------
		         break;
		         .
		         .
		         .
	         case valn:
		         ------
		         ------
		         break;
	         default:
		         ------
		         ------
         }
         

La instrucción switch toma la variable que le pasamos como argumento, y obtiene el valor de dicha variable. Después lo compara con los valores que hay junto a las etiquetas case, comenzando a ejecutar el código que hay debajo de la etiqueta case que coincida. Cuando se encuentre con la instrucción break finalizará la ejecución del switch.

En caso de no encontrar una etiqueta case coincidente, ejecutará el código que existe dentro de la etiqueta default. La etiqueta default es opcional, por tanto en caso de no tenerla simplemente no hace nada la instrucción.

Práctica:
  • Construir una aplicación que tome un valor entero como argumento, y que muestre el mes equivalente al entero introducido.
  • Crear el fichero Switch1.java
  • Agregar el siguiente código:
         public class Switch1{
	         public static void main(String arg[])
	         {
		         if ( arg.length == 0 )
		         {
			         System.out.println("Uso: \n\tjava Switch1 entero");
			         return;
		         }
		         int mes = Integer.parseInt(arg[0]);
		         String nombreMes;
		         switch(mes){
			         case 1:
				         nombreMes = "Enero";
				         break;
			         case 2:
				         nombreMes = "Febrero";
				         break;
			         case 3:
				         nombreMes = "Marzo";
				         break;
			         case 4:
				         nombreMes = "Abril";
				         break;
			         case 5:
				         nombreMes = "Mayo";
				         break;
			         case 6:
				         nombreMes = "Junio";
				         break;
			         case 7:
				         nombreMes = "Julio";
				         break;
			         case 8:
				         nombreMes = "Agosto";
				         break;
			         case 9:
				         nombreMes = "Septiembre";
				         break;
			         case 10:
				         nombreMes = "Octubre";
				         break;
			         case 11:
				         nombreMes = "Noviembre";
				         break;
			         case 12:
				         nombreMes = "Diciembre";
				         break;
			         default:
				         nombreMes = "desconocido";
		         }
		         System.out.println("El mes es " + nombreMes);
	         }
         }
         
  • Ejecutar y comprobar su correcto funcionamiento.
  • Eliminar todas las instrucciones break del código, y comprobar que siempre se devuelve el mismo valor, independientemente del valor pasado como argumento.

El operador ternario tiene la misión de devolver un valor, dependiendo del valor de una condición booleana. La sintaxis es:

         ((condición)?valor1:valor2)
         

Se evalúa la condición y si es true se devuelve valor1, y si es false se devuelve valor2.

Práctica:
Construir una aplicación que tome un valor entero como argumento y que muestre si es par o no por pantalla.
  • Crear el fichero Ternario1.java
  • Agregar el siguiente código:
         public class Ternario1{
	         public static void main(String arg[]){
		         if ( arg.length>0) {
			         int valor = Integer.parseInt(arg[0]);
			         String resultado = ((valor%2==0)?"par":"impar");	
			         System.out.println("El número es "+resultado);
		         } 
		         else
		         {
			         System.out.println("No hay ningún parámetro");
		         }
	         }
         }
         
··> Ver todos los cursos
··> Si necesitas más información, contáctanos aquí
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es