Java desde Cero – Estructuras de Control de Flujo – Condicionales

Para hacer referencia a las estructuras de control hay que entender como se ejecuta un programa, el como se ejecuta un programa es conocido como el flujo de ejecución, el cual básicamente es el orden de como se ejecuta nuestro programa, y ese orden por defecto es ir de arriba hacia abajo y secuencial una sentencia a otra; sin embargo, existen estructuras que pueden alterar ese flujo a través de saltos en función del cumplimiento de una condición, condiciones o la repetición de una instrucción o instrucciones una cantidad determinada o indeterminada de veces en función de una condición (estas dos últimas son conocidas como bucles), ahora bien el cumplimiento o no de la condición altera el flujo de ejecución del programa dadas las instrucciones que se implementen en función de cada condición.

Las estructuras de control de flujo de ejecución más básicas son los condicionales “Sí .. entonces” de la lógica proposicional del tipo condicional material que en programación se implementan con la palabra reservada “if“, podemos decir:

v_f_1

 

Es decir, si se cumple la condición se ejecuta y sino la sentencia que contiene no se ejecuta, tanto si se ejecuta o no existe un cambio en el flujo de ejecución, la estructura básica del condicional “if” es la siguiente:

if(condición) {
   sentencias
}

Los condicionales if pueden ser anidados, es decir que puede incluirse otro condicionales if dentro de un condicional if:

if(condicion1) {
      if(condicion2) {
            if(condición3) {
                       ...
            }
    }
}

La condición puede ser una o varias y se expresan a través de los operadores, por ejemplo podríamos decir que un usuario para acceder a una beca debe ser mayor de 18 años y menor que 40 años, ahora la concatenación (conjunción) de las condiciones se realiza con la palabra reservada “&&” por ejemplo sea x la edad implicará que ambas deban ser verdad, entonces:

if(x>=18 && x<=40) {
       System.out.println("Accede a la beca");
}

La disyunción, se expresa con la palabra reservada “||” e implicará que al menos una de las condiciones sea verdadera, por ejemplo sea x una variable que representa un día de la semana tal que si es viernes, sábado o domingo es considerado como el fin de semana:

if(x=="viernes" || x=="sábado" || x=="domingo") {
        System.out.println("Es fin de semana");
}

Un condicional “if” puede ir acompañado (es decir que no es obligatorio) de la instrucción “else” que es el sino, por ejemplo:

if(edad>=18) {
     System.out.println("Eres mayor de edad");
}else {
     System.out.println("No eres mayor edad");
}

Vamos a realizar un ejemplo en el que un usuario ingrese su edad y la edad se evalúe si es adolescente, joven, maduro o anciano en función de unos intervalos, recordemos que la entrada de datos lo hacemos a través de la clase Scanner que ya hemos tratado en un anterior post, entonces:

Scanner entrada=new Scanner(System.in);
System.out.println("Ingrese su edad");
int edad=entrada.nextInt();

if(edad<18) {
    System.out.println("Eres un adolescente");
}
if(edad>=18 && edad<40) {
   System.out.println("Eres Joven");
}
if(edad>=40 && edad<65) {
   System.out.println("Eres maduro");
}
if(edad>=65) {
   System.out.println("Eres un anciano");
}
entrada.close();

Sin embargo este tipo de estructura resulta un poco compleja ya que se debe definir las cotas tanto superior o inferior, además que aprovechamos el flujo de ejecución hasta que encaje dentro de alguna de las condiciones; sin embargo, podemos simplificar usando la palabra reservada “else if” de la siguiente forma:

 Scanner entrada= new Scanner(System.in);
if(edad<18) {System.out.println("Eres adolescente");}
else if (edad<40) {System.out.println("Eres joven");}
else if(edad<65) {System.out.println("Eres maduro");}
else {System.out.println("Eres un anciano");}
entrada.close();

Vemos que lo que ocurre es, si es menor que 18 entra en el primer condicional, si en caso de ser mayor que 18 evaluará la segunda condición que si es menor que 40 y si no evaluará si es menor que 65 y que implícitamente ya se comprobó que es mayor que 40 y así sucesivamente hasta quedar solo la última opción  “else“.

Bueno, esto ha sido lo más básico de los condicionales if que podemos tratar

 

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s