Cómo comprobar si un número es impar en Java

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo determinar si un número es impar o par en Java utilizando el operador módulo. Exploraremos el concepto del operador módulo y cómo su resultado al dividir por 2 puede distinguir entre números impares y pares.

A través de pasos prácticos, aplicarás el operador módulo para comprobar números impares, verificarás la lógica con varios tipos de números y combinarás comprobaciones para números pares e impares, ganando experiencia práctica en lógica condicional en Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") subgraph Lab Skills java/data_types -.-> lab-559967{{"Cómo comprobar si un número es impar en Java"}} java/operators -.-> lab-559967{{"Cómo comprobar si un número es impar en Java"}} java/if_else -.-> lab-559967{{"Cómo comprobar si un número es impar en Java"}} java/user_input -.-> lab-559967{{"Cómo comprobar si un número es impar en Java"}} end

Aplicar el operador módulo para comprobar números impares

En este paso, aprenderemos cómo determinar si un número es impar o par utilizando el operador módulo en Java. El operador módulo (%) te da el resto de una división. Por ejemplo, 10 % 3 es 1 porque 10 dividido por 3 es 3 con un resto de 1.

Un número es par si es divisible exactamente por 2, lo que significa que el resto al dividirlo por 2 es 0. Un número es impar si el resto al dividirlo por 2 es 1.

Vamos a crear un nuevo programa de Java para comprobar si un número es impar.

  1. Abre el archivo HelloJava.java en el editor WebIDE si no está abierto.

  2. Reemplaza todo el contenido del archivo con el siguiente código:

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int number = scanner.nextInt();
    
            // Check if the number is odd using the modulo operator
            if (number % 2 != 0) {
                System.out.println(number + " is an odd number.");
            } else {
                System.out.println(number + " is an even number.");
            }
    
            scanner.close();
        }
    }

    Veamos las nuevas partes del código:

    • int number = scanner.nextInt();: Esta línea lee un valor entero ingresado por el usuario y lo almacena en una variable llamada number.
    • if (number % 2 != 0): Esta es una declaración if, que permite a nuestro programa tomar decisiones. Comprueba si el resto de number dividido por 2 es diferente de 0. El símbolo != significa "diferente de".
    • System.out.println(number + " is an odd number.");: Esta línea se ejecuta si la condición en la declaración if es verdadera (el número es impar).
    • else: Esta palabra clave introduce el bloque de código que se ejecutará si la condición en la declaración if es falsa (el número es par).
    • System.out.println(number + " is an even number.");: Esta línea se ejecuta si el número es par.
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa modificado en la Terminal:

    javac HelloJava.java

    Si no hay errores, se creará un archivo HelloJava.class.

  5. Ejecuta el programa compilado:

    java HelloJava
  6. El programa te pedirá que ingreses un entero. Ingresa un número (por ejemplo, 7) y presiona Enter. El programa debe decirte si el número es impar o par.

    Enter an integer: 7
    7 is an odd number.

    Ejecuta el programa de nuevo e ingresa un número par (por ejemplo, 10).

    Enter an integer: 10
    10 is an even number.

Has utilizado con éxito el operador módulo y una declaración if-else para comprobar si un número es impar o par. Este es un concepto fundamental en la programación para controlar el flujo de tu programa en función de condiciones.

Verificar con varios tipos de números

En el paso anterior, comprobamos con éxito si un entero es impar o par. Ahora, exploremos cómo se comporta el operador módulo con diferentes tipos de números, centrándonos específicamente en los enteros negativos.

El concepto de números impares y pares generalmente se aplica a los enteros. Sin embargo, es importante entender cómo funciona el operador módulo con números negativos en Java, ya que puede comportarse de manera diferente a lo que se espera según las definiciones matemáticas.

En Java, el resultado de la operación módulo (a % b) tiene el mismo signo que el dividendo (a).

Modifiquemos nuestro programa para probar con números negativos.

  1. Abre el archivo HelloJava.java en el editor WebIDE.

  2. El código actual ya lee un entero. Podemos usar el mismo código y simplemente ingresar números negativos cuando se ejecute el programa.

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int number = scanner.nextInt();
    
            // Check if the number is odd using the modulo operator
            if (number % 2 != 0) {
                System.out.println(number + " is an odd number.");
            } else {
                System.out.println(number + " is an even number.");
            }
    
            scanner.close();
        }
    }
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa de nuevo para asegurarte de tener la última versión:

    javac HelloJava.java
  5. Ejecuta el programa:

    java HelloJava
  6. Cuando se te solicite, ingresa un número impar negativo (por ejemplo, -7) y observa la salida.

    Enter an integer: -7
    -7 is an odd number.

    La salida identifica correctamente a -7 como impar porque -7 dividido por 2 es -3 con un resto de -1. Dado que -1 no es igual a 0, la condición if number % 2 != 0 es verdadera.

  7. Ejecuta el programa de nuevo e ingresa un número par negativo (por ejemplo, -10).

    Enter an integer: -10
    -10 is an even number.

    La salida identifica correctamente a -10 como par porque -10 dividido por 2 es -5 con un resto de 0. La condición if number % 2 != 0 es falsa, y se ejecuta el bloque else.

Esto demuestra que nuestra lógica actual para comprobar números impares/pares utilizando el operador módulo funciona correctamente tanto para enteros positivos como negativos en Java. La clave es que el resto de un número impar dividido por 2 siempre será distinto de cero (ya sea 1 o -1), mientras que el resto de un número par dividido por 2 siempre será 0.

Combinar comprobaciones de números pares e impares

En los pasos anteriores, aprendimos cómo usar el operador módulo para comprobar si un número es impar o par. Nuestro programa actual ya maneja ambos casos utilizando una declaración if-else.

En este paso, revisaremos el código y nos aseguraremos de entender cómo la estructura if-else combina eficazmente las comprobaciones para números pares e impares.

Recordemos el código que usamos en el paso anterior:

import java.util.Scanner;

public class HelloJava {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter an integer: ");
        int number = scanner.nextInt();

        // Check if the number is odd using the modulo operator
        if (number % 2 != 0) {
            System.out.println(number + " is an odd number.");
        } else {
            System.out.println(number + " is an even number.");
        }

        scanner.close();
    }
}

Desglosemos de nuevo la lógica:

  • La condición number % 2 != 0 comprueba si el resto cuando number se divide por 2 es diferente de 0.
  • Si esta condición es true, significa que el número es impar, y se ejecuta el código dentro del bloque if: System.out.println(number + " is an odd number.");.
  • Si la condición number % 2 != 0 es false, significa que el resto es igual a 0. En este caso, el número debe ser par, y se ejecuta el código dentro del bloque else: System.out.println(number + " is an even number.");.

Esta estructura if-else es una forma muy común de manejar dos posibilidades mutuamente excluyentes (ya sea que un número sea impar o par). No necesitamos una comprobación separada para números pares porque si un número no es impar, debe ser par (para enteros).

Para completar este paso, simplemente asegúrate de que tu archivo HelloJava.java contenga el código correcto como se muestra arriba.

  1. Abre el archivo HelloJava.java en el editor WebIDE.

  2. Verifica que el código coincida con el ejemplo proporcionado arriba, incluyendo la import, el uso de Scanner, el mensaje de solicitud, la lectura del entero, la declaración if-else con la comprobación del módulo y el cierre del scanner.

  3. Guarda el archivo si hiciste algún cambio (Ctrl+S o Cmd+S).

  4. Compila el programa una última vez para estar seguro:

    javac HelloJava.java
  5. Ejecuta el programa y pruébalo con números impares y pares (positivos y negativos) para confirmar que funciona como se espera.

    java HelloJava

    Ejemplo de salida para un número impar:

    Enter an integer: 9
    9 is an odd number.

    Ejemplo de salida para un número par:

    Enter an integer: -4
    -4 is an even number.

Ahora has implementado y verificado con éxito un programa de Java que utiliza el operador módulo y una declaración if-else para determinar si un entero es impar o par. Este concepto fundamental de lógica condicional es crucial para construir programas más complejos.

Resumen

En este laboratorio (lab), aprendimos cómo determinar si un número es impar o par en Java utilizando el operador módulo (%). Descubrimos que un número es par si el resto al dividirlo por 2 es 0, e impar si el resto es 1. Implementamos esta lógica en un programa de Java que recibe entrada del usuario e imprime si el número es impar o par.

También exploramos cómo verificar esta comprobación con varios tipos de números y cómo combinar la lógica para las comprobaciones de números pares e impares dentro de un solo programa utilizando una declaración if-else. Esta experiencia práctica proporcionó una comprensión práctica de las declaraciones condicionales y el operador módulo en Java para comprobaciones básicas de propiedades de números.