Ir al contenido principal

Control de flujo: if/else (1/6)

En la programación, las instrucciones se ejecutan una después de otra, en el orden en que están escritas. Este proceso se conoce como ejecución secuencial. Pero los programas en muchos casos requieren evaluar alguna condición, lo cual hace que varíe la ruta de ejecución. Esto se conoce como transferencia de control o control de flujo.

A continuación se muestra una actualización de la clase SaludoApp1.java presentado en el post anterior HolaMundo, iniciando en Java. Se ha creado la clase SaludoApp2.java la cual aplica la sentencia de control if / else para evaluar una condición.

package sistemajava;

import java.util.Scanner;

public class SaludoApp2 {
  public static void main(String[] args) {
    System.out.println("¡Hola Mundo...! Bienvenidos a www.sistemajava.com \n"); 
    System.out.println("\t TEMAS QUE PUEDES APRENDER");
    System.out.println("\t =========================");
    System.out.println("\t 1. Fundamentos de programación (nivel básico)");
    System.out.println("\t 2. Técnicas de programación orientada a objetos (nivel intermedio)");
    System.out.println("\t 3. Desarrollo de aplicaciones empresariales (nivel avanzado)");
    System.out.println("\t =========================");
    System.out.print("Ingrese el número de opción del menú que desea consultar: ");
    Scanner entrada = new Scanner(System.in);
    int opcion = entrada.nextInt();
    if(opcion == 1)
      System.out.println("Aprenderas: tipos de datos, control de flujo, arreglos, etc."); 
    else
      System.out.println("Consulta el siguiente ejemplo.");
    System.out.println("Gracias por tu visita.");
  }
}

 

Al ejecutar la clase SaludoApp2, ahora el programa permite que el usuario pueda ingresar por consola un número que representa la opción del menú que desea consultar. Luego, el programa evalúa una condición para saber qué opción del menú se ha ingresado, y finalmente muestra el mensaje que corresponde a la opción.  

La sentencia:

Scanner entrada = new Scanner(System.in);

crea un objeto entrada del tipo Scanner, este objeto permite el ingreso de un número por consola. Para poder usar la clase Scanner, es necesario importarlo usando la siguiente sentencia antes de la declaración de la clase:

import java.util.Scanner;

En Java, una claseA puede requerir la funcionalidad de una claseB, pero si la claseB no se encuentra en el paquete en el que se ubica la claseA, entonces es necesario que la claseA deba importar a la claseB.

En el ejemplo, se muestra que la clase Scanner está ubicada en el paquete util y este dentro del paquete java.

La sentencia:

int opcion = entrada.nextInt();

define una variable opción del tipo int (entero) y le asigna el valor de entrada que el usuario ha ingresado por consola.

Las variables guardan valores durante la ejecución de un programa y pueden ser modificados. En Java las variables siempre deben ser de un tipo (byte,  short, int, long, float, double, char, String, boolean), y se recomienda como buena práctica que deben iniciar en minúscula.

La sentencia:

if(opcion == 1)

permite evaluar la condición comparando si la variable opcion es igual a 1, si la respuesta fuera verdad entonces se ejecuta la sentencia debajo del if, pero si fuera falsa, se ejecuta la sentencia debajo del else. En Java el símbolo == representa un operador relacional, existen también: >=, <=, <, >, != (este último para evaluar si dos valores son diferentes).

Por último, el resultado de la ejecución del programa se muestra en la siguiente figura:


Eso es todo, en la siguiente publicación se ampliará este ejemplo.

Gracias por visitar este blog.



Comentarios

Entradas populares de este blog

Manejo de fechas en Java 8 con LocalDate

En el programa desarrollado y mostrado en esta oportunidad, se han usado tres clases de la biblioteca de Java 8: la clase  java.time.Period  que sirve para determinar rangos como el total de años entre dos fechas, la clase  java.time.format.DateTimeFormatter  que sirve para dar diversos formatos a la fecha, y principalmente la clase  java.time. LocalDate   que es un objeto de fecha y hora inmutable que representa una fecha, a menudo visto como año-mes-día, además permite realizar de forma simple diversas operaciones de fecha.

Calendario en Java con GregorianCalendar

En el programa desarrollado y mostrado en esta oportunidad, se han usado tres clases de la biblioteca de Java: la clase  java.util.Date  que sirve para crear una fecha actual del sistema, la clase  java.text.DateFormat  que sirve para dar formato a la fecha, y principalmente la clase  java.util. GregorianCalendar   que sirve para manipular fechas.

Formato de fechas en Java con SimpleDateFormat

En el programa desarrollado y mostrado en esta oportunidad, se han usado dos clases de la biblioteca de Java: la clase  java.util.Date  que sirve para crear una fecha actual del sistema, y la clase  java.text.SimpleDateFormat  que sirve para dar diversos formatos de impresión a la fecha.