Java 에서 숫자가 홀수인지 확인하는 방법

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 나머지 연산자 (modulo operator) 를 사용하여 숫자가 홀수인지 짝수인지 판별하는 방법을 배우게 됩니다. 나머지 연산자의 개념과 2 로 나눌 때의 결과가 홀수와 짝수를 어떻게 구별하는지 살펴보겠습니다.

실습 단계를 통해 나머지 연산자를 적용하여 홀수를 확인하고, 다양한 숫자 유형으로 로직을 검증하며, 짝수와 홀수 모두에 대한 검사를 결합하여 Java 의 조건부 로직에 대한 실질적인 경험을 얻게 됩니다.

홀수 확인을 위한 나머지 연산자 적용

이 단계에서는 Java 에서 나머지 연산자 (modulo operator) 를 사용하여 숫자가 홀수인지 짝수인지 판별하는 방법을 배우겠습니다. 나머지 연산자 (%) 는 나눗셈의 나머지를 제공합니다. 예를 들어, 10 % 3은 1 입니다. 왜냐하면 10 을 3 으로 나누면 몫은 3 이고 나머지는 1 이기 때문입니다.

숫자가 2 로 완벽하게 나누어 떨어지면 짝수입니다. 즉, 2 로 나눈 나머지가 0 입니다. 숫자가 2 로 나눈 나머지가 1 이면 홀수입니다.

숫자가 홀수인지 확인하는 새로운 Java 프로그램을 만들어 보겠습니다.

  1. WebIDE 편집기에서 HelloJava.java 파일을 엽니다 (아직 열려 있지 않은 경우).

  2. 파일의 전체 내용을 다음 코드로 바꿉니다.

    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();
        }
    }

    코드의 새로운 부분을 살펴보겠습니다.

    • int number = scanner.nextInt();: 이 줄은 사용자가 입력한 정수 값을 읽어 number라는 변수에 저장합니다.
    • if (number % 2 != 0): 이것은 if 문으로, 프로그램이 결정을 내릴 수 있도록 합니다. number를 2 로 나눈 나머지가 0 과 같지 않은지 확인합니다. != 기호는 "같지 않음"을 의미합니다.
    • System.out.println(number + " is an odd number.");: 이 줄은 if 문의 조건이 참일 경우 (숫자가 홀수인 경우) 실행됩니다.
    • else: 이 키워드는 if 문의 조건이 거짓일 경우 (숫자가 짝수인 경우) 실행될 코드 블록을 소개합니다.
    • System.out.println(number + " is an even number.");: 이 줄은 숫자가 짝수인 경우 실행됩니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 터미널에서 수정된 프로그램을 컴파일합니다.

    javac HelloJava.java

    오류가 없으면 HelloJava.class 파일이 생성됩니다.

  5. 컴파일된 프로그램을 실행합니다.

    java HelloJava
  6. 프로그램은 정수를 입력하라는 메시지를 표시합니다. 숫자를 입력하고 (예: 7) Enter 키를 누릅니다. 프로그램은 숫자가 홀수인지 짝수인지 알려줍니다.

    Enter an integer: 7
    7 is an odd number.

    프로그램을 다시 실행하고 짝수를 입력합니다 (예: 10).

    Enter an integer: 10
    10 is an even number.

나머지 연산자와 if-else 문을 사용하여 숫자가 홀수인지 짝수인지 확인하는 데 성공했습니다. 이것은 조건에 따라 프로그램의 흐름을 제어하기 위한 프로그래밍의 기본 개념입니다.

다양한 숫자 유형으로 검증

이전 단계에서 정수가 홀수인지 짝수인지 성공적으로 확인했습니다. 이제 나머지 연산자가 다양한 유형의 숫자, 특히 음의 정수에서 어떻게 동작하는지 살펴보겠습니다.

홀수와 짝수의 개념은 일반적으로 정수에 적용됩니다. 그러나 Java 에서 나머지 연산자가 음수에 어떻게 작동하는지 이해하는 것이 중요합니다. 수학적 정의를 기반으로 예상하는 것과 다르게 동작할 수 있기 때문입니다.

Java 에서 나머지 연산 (a % b) 의 결과는 피제수 (a) 와 동일한 부호를 갖습니다.

음수로 테스트하도록 프로그램을 수정해 보겠습니다.

  1. WebIDE 편집기에서 HelloJava.java 파일을 엽니다.

  2. 현재 코드는 이미 정수를 읽습니다. 동일한 코드를 사용하고 프로그램을 실행할 때 음수를 입력할 수 있습니다.

    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. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 최신 버전인지 확인하기 위해 프로그램을 다시 컴파일합니다.

    javac HelloJava.java
  5. 프로그램을 실행합니다.

    java HelloJava
  6. 메시지가 표시되면 음의 홀수 (예: -7) 를 입력하고 출력을 확인합니다.

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

    -7 을 2 로 나누면 몫은 -3 이고 나머지는 -1 이므로 출력은 -7 을 홀수로 올바르게 식별합니다. -1 은 0 과 같지 않으므로 if 조건 number % 2 != 0은 참입니다.

  7. 프로그램을 다시 실행하고 음의 짝수 (예: -10) 를 입력합니다.

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

    -10 을 2 로 나누면 몫은 -5 이고 나머지는 0 이므로 출력은 -10 을 짝수로 올바르게 식별합니다. if 조건 number % 2 != 0은 거짓이고 else 블록이 실행됩니다.

이는 나머지 연산자를 사용하여 홀수/짝수를 확인하는 현재 로직이 Java 에서 양수 및 음수 정수 모두에 대해 올바르게 작동함을 보여줍니다. 핵심은 홀수를 2 로 나눈 나머지는 항상 0 이 아닌 값 (1 또는 -1) 이 되고, 짝수를 2 로 나눈 나머지는 항상 0 이 된다는 것입니다.

홀수와 짝수 검사 결합

이전 단계에서 나머지 연산자를 사용하여 숫자가 홀수인지 짝수인지 확인하는 방법을 배웠습니다. 현재 프로그램은 if-else 문을 사용하여 두 경우 모두를 처리합니다.

이 단계에서는 코드를 검토하고 if-else 구조가 홀수와 짝수 숫자에 대한 검사를 효과적으로 결합하는 방식을 이해하는지 확인합니다.

이전 단계에서 사용한 코드를 다시 불러오겠습니다.

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();
    }
}

로직을 다시 분석해 보겠습니다.

  • 조건 number % 2 != 0number를 2 로 나눈 나머지가 0 과 같지 않은지 확인합니다.
  • 이 조건이 true이면 숫자가 홀수임을 의미하며, if 블록 내부의 코드가 실행됩니다: System.out.println(number + " is an odd number.");.
  • 조건 number % 2 != 0false이면 나머지가 0 과 같음을 의미합니다. 이 경우 숫자는 짝수여야 하며, else 블록 내부의 코드가 실행됩니다: System.out.println(number + " is an even number.");.

if-else 구조는 두 개의 상호 배타적인 가능성 (숫자가 홀수이거나 짝수) 을 처리하는 매우 일반적인 방법입니다. 숫자가 홀수가 아니면 짝수여야 하므로 (정수의 경우) 짝수에 대한 별도의 검사가 필요하지 않습니다.

이 단계를 완료하려면 HelloJava.java 파일에 위에 표시된 올바른 코드가 포함되어 있는지 확인하십시오.

  1. WebIDE 편집기에서 HelloJava.java 파일을 엽니다.

  2. import, Scanner 사용법, 프롬프트, 정수 읽기, 나머지 검사가 있는 if-else 문, 스캐너 닫기를 포함하여 코드가 위에 제공된 예제와 일치하는지 확인합니다.

  3. 변경 사항이 있으면 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 확실하게 하기 위해 프로그램을 마지막으로 한 번 컴파일합니다.

    javac HelloJava.java
  5. 프로그램을 실행하고 홀수와 짝수 (양수 및 음수) 로 테스트하여 예상대로 작동하는지 확인합니다.

    java HelloJava

    홀수에 대한 예시 출력:

    Enter an integer: 9
    9 is an odd number.

    짝수에 대한 예시 출력:

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

이제 나머지 연산자와 if-else 문을 사용하여 정수가 홀수인지 짝수인지 확인하는 Java 프로그램을 성공적으로 구현하고 확인했습니다. 이러한 조건부 로직의 기본 개념은 더 복잡한 프로그램을 구축하는 데 매우 중요합니다.

요약

이 Lab 에서 우리는 나머지 연산자 (%) 를 사용하여 Java 에서 숫자가 홀수인지 짝수인지 확인하는 방법을 배웠습니다. 숫자를 2 로 나눈 나머지가 0 이면 짝수이고 나머지가 1 이면 홀수임을 알게 되었습니다. 우리는 사용자 입력을 받아 숫자가 홀수인지 짝수인지 출력하는 Java 프로그램에서 이 로직을 구현했습니다.

또한 다양한 숫자 유형으로 이 검증을 수행하는 방법과 if-else 문을 사용하여 단일 프로그램 내에서 홀수 및 짝수 검사를 위한 로직을 결합하는 방법을 살펴보았습니다. 이 실습 경험은 기본적인 숫자 속성 검사를 위한 Java 의 조건문과 나머지 연산자에 대한 실질적인 이해를 제공했습니다.