Estructuras condicionales en Java

Hola a todos, hoy os explicare a como utilizar las estructuras condicionales en Java.

Las estructuras condicionales nos permiten ejecutar una serie de instrucciones si cumple una determinada condición que nosotros le indiquemos. Es importante recordar que la condición debe dar un resultado booleano, por lo que lo mas normal es usar operadores relacionales y condicionales.

Tenemos varios tipos de estructuras condicionales:

  • if: le indicamos una condición si esta es verdadera se ejecuta, sino no se ejecuta las instrucciones de dentro. Se suele traducir como «Si se cumple esta condición haz esto». Su sintaxis es:
      if (condición){
          instrucciones
      }

Por ejemplo: 

public class PruebaApp {

	public static void main(String[] args) {

		int precio=300;

		if (precio>100){
			System.out.println("El precio es mayor que 100");
		}
	}

}

Donde colocamos la condición, podemos colocar una variable booleana, ya que su valor puede ser true o false.

  • if – else: es como el anterior solo que después de cerrarse la llave de if, se añade else sin indicarle ninguna condición. Esto sirve para que si la condición del if no es verdadera, ejecute otras instrucciones que estarán dentro de else. Se suele traducir como «Si se cumple esta condición haz esto y sino haz esto».

Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		int precio=50;

		if (precio>100){
			System.out.println("El precio es mayor que 100");
		}else{
			System.out.println("El precio es menor que 100");
		}
	}

}

En este caso, se ejecutara lo que hay en else ya que no cumple la condición.

  • if -elseif: esta estructura es como una mezcla de los anteriores, esto nos permite, que si no se cumple la condición podamos indicar otra condición para hacerlo aún mas especifico. Se suele traducir como  «Si se cumple esta condición haz esto y sino si cumple esta condición haz esto».

Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		int precio=50;

		if (precio>100){
			System.out.println("El precio es mayor que 100");
		}else if(precio>80){
			System.out.println("El precio es mayor que 80");
		}else{
			System.out.println("El precio es menor que 80");
		}
	}
}

El ejemplo anterior  es equivalente al siguiente, esto es lo que se conoce como if anidados, podemos anidar tantos como queramos:

public class PruebaApp {

	public static void main(String[] args) {

		int precio=50;

		if (precio>100){
			System.out.println("El precio es mayor que 100");
		}else {
			if(precio>80){
			    System.out.println("El precio es mayor que 80");
			}else{
			    System.out.println("El precio es menor que 80");
			}
		}
	}
}
  • Switch: esta estructura condicional de selección múltiple, le damos un valor (puede ser una variable) y una lista de casos y si cumple alguno de los casos ejecuta las instrucciones asociadas a ella, en caso de que ninguna sea podemos indicarle que hace por defecto, normalmente se usa para indicar de un error con un mensaje. Su sintaxis es:
	switch (valor){
		case caso1:
		    Instrucciones
			break;
		case caso2:
		    Instrucciones
			break;
		case caso N:
			Instrucciones
			break;
		default:
			Instrucciones
	}

Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		String dia="Lunes";

		switch (dia){
			case "Lunes":
				System.out.println("Hoy es "+dia);
				break;
			case "Martes":
				System.out.println("Hoy es "+dia);
				break;
			case "Miercoles":
				System.out.println("Hoy es "+dia);
				break;
			case "Jueves":
				System.out.println("Hoy es "+dia);
				break;
			case "Viernes":
				System.out.println("Hoy es "+dia);
				break;
			case "Sabado":
				System.out.println("Hoy es "+dia);
				break;
			case "Domingo":
				System.out.println("Hoy es "+dia);
				break;
			default:
				System.out.println("No has introducido un dia correcto");
		}
	}
}

Como vemos en el caso anterior, como los valores son String debemos poner dobles comillas a los casos. En caso de que sean números, se pondrán como tal, también podríamos usar constantes.

Una cosa más, si haya varios casos que tienen ejecuta las mismas instrucciones, podemos agruparlas. Veamos un ejemplo:

import javax.swing.JOptionPane;
public class PruebaApp {

    public static void main(String[] args) {

        String dia=JOptionPane.showInputDialog("Introduce un dia de la semana");

        switch(dia){
            case "lunes":
            case "martes":
            case "miercoles":
            case "jueves":
            case "viernes":
                System.out.println("Es un dia laboral");
                break;
            case "sabado":
            case "domingo":
                System.out.println("Es un dia festivo");
            default:
                System.out.println("Introduce un dia de la semana");
        }
    }
}

Espero que os sea de ayuda. Si teneis dudas, preguntad. Estamos para ayudarte.

Compartir

7 comentarios

  1. paola

    Gracias me has ayudado mucho, buenos cursos

  2. Disco Duro de Roer Post author

    Gracias

  3. Carlos Diaz

    yo tengo un codigo con el condicional if else

    if { $::VAnalysisCode eq «» } {
    set LAnalysisCode «NoLib»
    } elseif { $::VAnalysisCode eq «NoLib» } {
    set LAnalysisCode «»
    } else {
    set LAnalysisCode «NoLib» }

    explico un poco lo que hace el código, nosotros transferimos números de partes de un sistema a otro, nosotros la primera vez que transferimos la pieza, queremos que le agregue la etiqueta de no liberado, y la segunda vez que se la quite, la primera vez funciona pero la segunda no lo hace, en lugar de le agregue la etiqueta, no la agrega y cuando es la tarea de eliminar la agrega, no se si puedan ayudarme con este problema

  4. Elias

    Excelente contenido, muchísimas gracias, por ayudo muchoo!

  5. john1224

    hoa hola solo con sentido de aportar vi esta linea, en el utimo ejeplo que haces:

    case «sabado»:
    case «domingo»:
    System.out.println(«Es un dia festivo»);
    default:
    System.out.println(«Introduce un dia de la semana»);

    creo que le falto un break aqui:

    case «sabado»:
    case «domingo»:
    System.out.println(«Es un dia festivo»);
    break; <—- aqui
    default:
    System.out.println("Introduce un dia de la semana");

    de resto excelente amigo, agradecido cada vez aprendo mas y mas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *