Java 에서 숫자가 다른 숫자보다 큰지 확인하는 방법

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 두 숫자를 비교하여 어느 숫자가 더 큰지 확인하는 방법을 배우게 됩니다. 프로그래밍에서 조건부 결정을 내리는 데 기본적인 "보다 큼" 연산자 (>) 를 포함한 비교 연산자의 사용법을 살펴볼 것입니다.

실습을 통해 사용자 입력을 읽고, 다양한 숫자 유형을 비교하기 위해 보다 큼 연산자를 적용하며, 숫자가 같은 경우를 처리하는 코드를 구현할 것입니다. 이 랩은 Java 에서 조건문과 비교 연산자를 사용하는 실질적인 경험을 제공할 것입니다.

보다 큼 비교 연산자 사용

이 단계에서는 Java 에서 두 숫자를 비교하기 위해 비교 연산자를 사용하는 방법을 배우겠습니다. 특히 "보다 큼" 연산자 (>) 에 초점을 맞출 것입니다. 비교 연산자는 값 간의 관계를 기반으로 결정을 내릴 수 있도록 해주므로 프로그래밍에서 기본입니다.

보다 큼 연산자를 시연하기 위해 새로운 Java 프로그램을 만들어 보겠습니다.

  1. HelloJava.java 파일이 아직 열려 있지 않다면 WebIDE 편집기에서 엽니다.

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

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the first number: ");
            int number1 = scanner.nextInt();
    
            System.out.print("Enter the second number: ");
            int number2 = scanner.nextInt();
    
            if (number1 > number2) {
                System.out.println("The first number is greater than the second number.");
            }
    
            scanner.close();
        }
    }

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

    • import java.util.Scanner;: 사용자로부터 입력을 받기 위해 여전히 Scanner가 필요합니다.
    • System.out.print("Enter the first number: ");: 사용자에게 첫 번째 숫자를 입력하라는 메시지를 표시합니다.
    • int number1 = scanner.nextInt();: 사용자가 입력한 첫 번째 정수를 읽어 number1 변수에 저장합니다.
    • System.out.print("Enter the second number: ");: 사용자에게 두 번째 숫자를 입력하라는 메시지를 표시합니다.
    • int number2 = scanner.nextInt();: 사용자가 입력한 두 번째 정수를 읽어 number2 변수에 저장합니다.
    • if (number1 > number2): 여기서 보다 큼 연산자 (>) 를 사용합니다. 이 줄은 number1의 값이 number2의 값보다 큰지 확인합니다. 중괄호 {} 안의 코드는 이 조건이 참일 경우에만 실행됩니다.
    • System.out.println("The first number is greater than the second number.");: number1이 실제로 number2보다 크면 이 줄이 출력됩니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

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

    javac HelloJava.java

    컴파일 오류가 없으면 출력이 표시되지 않습니다.

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

    java HelloJava
  6. 프로그램은 두 개의 숫자를 입력하라는 메시지를 표시합니다. 첫 번째 프롬프트에 숫자를 입력하고 Enter 키를 누른 다음 두 번째 숫자를 입력하고 다시 Enter 키를 누릅니다.

    예를 들어, 첫 번째 숫자로 10을 입력하고 두 번째 숫자로 5를 입력하면 출력은 다음과 같습니다.

    Enter the first number: 10
    Enter the second number: 5
    The first number is greater than the second number.

    첫 번째 숫자로 5를 입력하고 두 번째 숫자로 10을 입력하면 number1 > number2 조건이 거짓이므로 두 번째 숫자를 입력한 후 출력이 없습니다.

두 숫자를 비교하고 그 결과에 따라 코드를 실행하기 위해 보다 큼 비교 연산자를 성공적으로 사용했습니다.

다양한 숫자 유형으로 테스트

이전 단계에서는 두 개의 정수를 비교했습니다. Java 에는 정수 (정수) 및 소수점이 있는 숫자 (부동 소수점 숫자) 와 같이 다양한 종류의 숫자를 처리하기 위한 다양한 숫자 유형이 있습니다. 이 단계에서는 비교 연산자가 다양한 숫자 유형에서 어떻게 작동하는지 살펴보겠습니다.

Java 에는 다음과 같은 여러 기본 숫자 유형이 있습니다.

  • int: 정수 (정수)
  • double: 부동 소수점 숫자 (소수점이 있는 숫자)
  • float: 또한 부동 소수점 숫자이지만 일반적으로 double보다 정밀도가 낮습니다.
  • long: 매우 큰 정수

>와 같은 비교 연산자는 서로 다른 숫자 유형의 값을 비교하는 데 사용할 수 있습니다. Java 는 종종 비교를 가능하게 하기 위해 자동 유형 변환 (확대) 을 수행합니다. 예를 들어, intdouble을 비교할 때 int는 비교 전에 double로 변환됩니다.

정수와 double 을 비교하도록 프로그램을 수정해 보겠습니다.

  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 intNumber = scanner.nextInt();
    
            System.out.print("Enter a decimal number: ");
            double doubleNumber = scanner.nextDouble();
    
            if (intNumber > doubleNumber) {
                System.out.println("The integer is greater than the decimal number.");
            }
    
            if (doubleNumber > intNumber) {
                System.out.println("The decimal number is greater than the integer.");
            }
    
            scanner.close();
        }
    }

    이 업데이트된 코드에서:

    • 이제 scanner.nextInt()를 사용하여 intintNumber 변수로 읽습니다.
    • scanner.nextDouble()을 사용하여 doubledoubleNumber 변수로 읽습니다.
    • > 연산자를 사용하여 intNumberdoubleNumber를 비교합니다. 소수점이 있는 숫자가 정수보다 큰지 확인하기 위해 두 번째 if 문을 추가했음을 알 수 있습니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. Terminal 에서 프로그램을 컴파일합니다.

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

    java HelloJava
  6. 프롬프트가 표시되면 정수와 소수점을 입력합니다.

    예를 들어, 정수로 10을 입력하고 소수점으로 9.5를 입력하면 출력은 다음과 같습니다.

    Enter an integer: 10
    Enter a decimal number: 9.5
    The integer is greater than the decimal number.

    정수로 5를 입력하고 소수점으로 5.1을 입력하면 출력은 다음과 같습니다.

    Enter an integer: 5
    Enter a decimal number: 5.1
    The decimal number is greater than the integer.

이는 Java 가 보다 큼 연산자를 사용하여 서로 다른 숫자 유형을 비교할 수 있음을 보여줍니다.

같은 숫자 처리

이전 단계에서는 보다 큼 연산자 (>) 를 사용하여 한 숫자가 다른 숫자보다 큰지 확인했습니다. 그러나 두 숫자가 같은 경우에는 어떻게 될까요? 현재 프로그램은 이 경우를 명시적으로 처리하지 않습니다.

이 단계에서는 동등성 연산자 (==) 를 사용하여 동등성을 확인하는 방법과 숫자가 같은 경우를 포함하여 여러 가능성을 처리하기 위해 if-else if-else 문을 사용하는 방법을 배우겠습니다.

Java 의 동등성 연산자 (==) 는 두 값이 같은지 확인하는 데 사용됩니다. 값이 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

두 숫자를 비교하고 첫 번째 숫자가 두 번째 숫자보다 크거나, 작거나, 같은지 나타내는 메시지를 인쇄하도록 프로그램을 수정해 보겠습니다.

  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 the first number: ");
            double number1 = scanner.nextDouble();
    
            System.out.print("Enter the second number: ");
            double number2 = scanner.nextDouble();
    
            if (number1 > number2) {
                System.out.println("The first number is greater than the second number.");
            } else if (number1 < number2) {
                System.out.println("The first number is less than the second number.");
            } else {
                System.out.println("The two numbers are equal.");
            }
    
            scanner.close();
        }
    }

    변경 사항을 살펴보겠습니다.

    • 이제 테스트의 유연성을 높이기 위해 두 개의 double 값을 읽습니다.
    • if (number1 > number2): 이것은 이전과 동일한 검사입니다. number1number2보다 크면 첫 번째 메시지가 인쇄됩니다.
    • else if (number1 < number2): 이것은 새로운 부분입니다. else if 블록은 이전 if 조건 (number1 > number2) 이 false 인 경우에만 실행됩니다. 여기서는 보다 작음 연산자 (<) 를 사용하여 number1number2보다 작은지 확인합니다.
    • else: 이 블록은 이전 if 또는 else if 조건이 모두 참이 아닌 경우 실행됩니다. 이 경우 number1number2보다 크지 않고 number2보다 작지 않으면 number2와 같아야 합니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. Terminal 에서 프로그램을 컴파일합니다.

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

    java HelloJava
  6. 두 숫자를 입력합니다 (같은 경우 포함).

    첫 번째 숫자로 7.5를 입력하고 두 번째 숫자로 7.5를 입력하면 출력은 다음과 같습니다.

    Enter the first number: 7.5
    Enter the second number: 7.5
    The two numbers are equal.

    105를 입력하면 "The first number is greater than the second number."가 표시됩니다. 510을 입력하면 "The first number is less than the second number."가 표시됩니다.

이제 if-else if-else 문과 동등성 연산자 (==) 를 사용하여 동등성을 포함한 다양한 비교 결과를 성공적으로 처리했습니다.

요약

이 Lab 에서는 Java 에서 숫자가 다른 숫자보다 큰지 확인하는 방법을 배웠습니다. 사용자가 입력한 두 정수 값을 비교하기 위해 if 문 내에서 비교 연산자 >를 사용하는 것으로 시작했습니다. 이는 코드에서 비교 연산자를 사용하여 결정을 내리는 기본적인 개념을 보여주었습니다.

그런 다음 다양한 숫자 유형을 처리하는 방법을 탐구하여 doublefloat와 같은 다양한 데이터 유형에 대해 비교 로직이 올바르게 작동하도록 했습니다. 마지막으로, 두 숫자가 같은 시나리오를 해결하여 "크거나 같음" 연산자 (>=) 또는 동등성에 대한 별도의 검사를 포함하도록 조건부 로직을 확장했습니다.