Java 에서 특정 범위 내의 숫자인지 확인하는 방법

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 숫자가 특정 범위 내에 속하는지 확인하는 방법을 배우게 됩니다. 하한 및 상한을 사용하여 숫자 범위를 정의하는 기본적인 개념, 논리 연산자를 사용하여 범위 검사를 수행하는 방법, 그리고 경계 값을 범위 비교에 포함하는 방법을 다룰 것입니다. 실습을 통해 Java 코드에서 이러한 기술을 구현하는 실질적인 경험을 얻을 수 있습니다.

하한 및 상한으로 범위 정의

이 단계에서는 Java 에서 하한 및 상한을 사용하여 숫자 범위를 정의하는 방법을 배우겠습니다. 범위로 작업하는 방법을 이해하는 것은 프로그래밍의 기본 개념이며, 이를 통해 값이 특정 숫자 집합 내에 속하는지 확인할 수 있습니다.

범위는 시작점 (하한) 과 종료점 (상한) 사이의 숫자 집합입니다. 예를 들어, 1 과 10 사이의 범위는 1 부터 10 까지의 모든 숫자를 포함합니다.

범위를 정의하고 작업하기 위해 간단한 Java 프로그램을 만들어 보겠습니다.

  1. HelloJava.java 파일이 아직 열려 있지 않다면 WebIDE 편집기에서 엽니다. 이 파일을 새로운 프로그램에 맞게 수정할 것입니다.

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

    public class HelloJava {
        public static void main(String[] args) {
            // Define the lower and upper bounds of the range
            int lowerBound = 10;
            int upperBound = 50;
    
            // Print the defined range
            System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");
        }
    }

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

    • int lowerBound = 10;: 이 줄은 lowerBound라는 정수 변수를 선언하고 값 10 을 할당합니다. 이것이 범위의 시작점입니다.
    • int upperBound = 50;: 이 줄은 upperBound라는 정수 변수를 선언하고 값 50 을 할당합니다. 이것이 범위의 종료점입니다.
    • System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");: 이 줄은 lowerBoundupperBound의 값을 사용하여 정의된 범위를 보여주는 메시지를 콘솔에 출력합니다. + 기호는 텍스트 문자열과 변수 값을 결합하는 데 사용됩니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 이제 수정된 프로그램을 컴파일해 보겠습니다. WebIDE 하단의 터미널을 열고 ~/project 디렉토리에 있는지 확인합니다. 그런 다음 다음 명령을 실행합니다.

    javac HelloJava.java

    오류가 없으면 컴파일이 성공적으로 완료된 것입니다.

  5. 마지막으로, 프로그램을 실행하여 출력을 확인해 보겠습니다. 터미널에서 다음을 실행합니다.

    java HelloJava

    다음 출력을 볼 수 있습니다.

    Defined Range: [10, 50]

    이것은 프로그램이 범위를 정확하게 정의하고 하한 및 상한을 출력했음을 확인합니다.

다음 단계에서는 논리 연산자를 사용하여 숫자가 이 정의된 범위 내에 속하는지 확인하는 방법을 배우겠습니다.

범위 확인을 위한 논리 연산자 사용

이 단계에서는 Java 에서 논리 연산자를 사용하여 이전 단계에서 정의한 범위 내에 숫자가 속하는지 확인하는 방법을 배우겠습니다. 논리 연산자는 부울 표현식 (true 또는 false 중 하나인 표현식) 을 결합하거나 수정하는 데 사용됩니다.

숫자가 하한 및 상한으로 정의된 범위 내에 있는지 확인하려면 두 가지 조건을 확인해야 합니다.

  1. 숫자가 하한보다 크거나 같습니까?
  2. 숫자가 상한보다 작거나 같습니까?

숫자가 범위 내에 있으려면 이 두 조건이 모두 true 여야 합니다. Java 에서는 논리 AND 연산자 (&&) 를 사용하여 이 두 조건을 결합합니다.

이 범위 확인을 포함하도록 HelloJava.java 프로그램을 수정해 보겠습니다.

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

  2. 확인할 숫자에 대한 변수와 범위 확인 로직을 포함하도록 main 메서드를 수정합니다. 기존 main 메서드 내용을 다음으로 바꿉니다.

    public static void main(String[] args) {
        // Define the lower and upper bounds of the range
        int lowerBound = 10;
        int upperBound = 50;

        // Define the number to check
        int numberToCheck = 35;

        // Check if the number is within the range using logical operators
        boolean isInRange = (numberToCheck >= lowerBound) && (numberToCheck <= upperBound);

        // Print the result
        System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");
        System.out.println("Number to Check: " + numberToCheck);
        System.out.println("Is " + numberToCheck + " within the range? " + isInRange);
    }

다음은 추가한 내용입니다.

  • int numberToCheck = 35;: 이 줄은 정수 변수 numberToCheck를 선언하고 값 35 를 할당합니다. 이것이 범위를 기준으로 확인하려는 숫자입니다.
  • boolean isInRange = (numberToCheck >= lowerBound) && (numberToCheck <= upperBound);: 이것이 범위 확인의 핵심입니다.
    • numberToCheck >= lowerBound: numberToChecklowerBound보다 크거나 같은지 확인합니다.
    • numberToCheck <= upperBound: numberToCheckupperBound보다 작거나 같은지 확인합니다.
    • &&: 이것은 논리 AND 연산자입니다. 왼쪽과 오른쪽의 조건이 모두 true인 경우에만 true를 반환합니다.
    • 이 전체 표현식의 결과 (true 또는 false) 는 isInRange라는 부울 변수에 저장됩니다.
  • System.out.println 줄은 이제 확인 중인 숫자와 범위 확인 결과를 출력합니다.
  1. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

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

javac HelloJava.java
  1. 컴파일된 프로그램을 실행합니다.
java HelloJava

다음과 유사한 출력을 볼 수 있습니다.

Defined Range: [10, 50]
Number to Check: 35
Is 35 within the range? true

35 가 실제로 10 과 50 사이 (포함) 이므로 프로그램은 true를 올바르게 출력합니다.

numberToCheck의 값을 범위 외부의 값 (예: 5 또는 60) 으로 변경하고 프로그램을 다시 컴파일하고 다시 실행하여 출력이 어떻게 변경되는지 확인해 보십시오.

범위에 경계값 포함

이전 단계에서는 >=(크거나 같음) 및 <=(작거나 같음) 연산자를 사용하여 숫자가 범위 내에 있는지 확인했습니다. 이러한 연산자는 범위 확인에 경계 값 (하한 및 상한) 을 포함하기 때문에 중요합니다.

예를 들어, 범위가 [10, 50]인 경우 숫자가 10, 50 또는 10 과 50 사이의 숫자이면 범위 내에 있는 것으로 간주됩니다. 대신 >(큼) 및 <(작음) 을 사용했다면 범위는 (10, 50) 이 되어 10 과 50 자체는 포함되지 않습니다.

경계 값을 사용하여 프로그램을 테스트하여 이 동작을 확인해 보겠습니다.

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

  2. 하한 및 상한으로 범위 확인을 테스트합니다. main 메서드를 수정하여 numberToChecklowerBoundupperBound를 모두 테스트합니다.

public class HelloJava {
    public static void main(String[] args) {
        // Define the lower and upper bounds of the range
        int lowerBound = 10;
        int upperBound = 50;

        // Test with the lower bound
        int numberToCheck1 = lowerBound;
        boolean isInRange1 = (numberToCheck1 >= lowerBound) && (numberToCheck1 <= upperBound);
        System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");
        System.out.println("Number to Check: " + numberToCheck1);
        System.out.println("Is " + numberToCheck1 + " within the range? " + isInRange1);
        System.out.println("---"); // Separator for clarity

        // Test with the upper bound
        int numberToCheck2 = upperBound;
        boolean isInRange2 = (numberToCheck2 >= lowerBound) && (numberToCheck2 <= upperBound);
        System.out.println("Number to Check: " + numberToCheck2);
        System.out.println("Is " + numberToCheck2 + " within the range? " + isInRange2);
    }
}

upperBound로 설정된 numberToCheck2를 사용하여 두 번째 테스트 케이스를 추가했습니다.

  1. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

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

javac HelloJava.java
  1. 컴파일된 프로그램을 실행합니다.
java HelloJava

다음과 유사한 출력을 볼 수 있습니다.

Defined Range: [10, 50]
Number to Check: 10
Is 10 within the range? true
---
Number to Check: 50
Is 50 within the range? true

보시다시피, >=<= 연산자를 사용했기 때문에 10(하한) 과 50(상한) 이 모두 범위 내에 있는 것으로 올바르게 식별됩니다. 이는 범위 확인에 경계 값이 포함되어 있음을 확인합니다.

범위가 경계를 포함하는지 (포함) 또는 제외하는지 (배타) 를 이해하는 것은 프로그램에서 조건을 정의할 때 중요합니다. >=<= 연산자는 포함 범위를 만듭니다.

요약

이 랩에서는 정수 변수를 사용하여 하한 및 상한을 설정하여 Java 에서 숫자 범위를 정의하는 방법을 배웠습니다. 이러한 경계를 선언하고 정의된 범위를 콘솔에 출력하도록 간단한 Java 프로그램을 수정하여 출력을 위해 텍스트와 변수 값을 결합하는 방법을 이해했습니다. 이 기본적인 단계는 이후에 숫자가 이 지정된 범위 내에 속하는지 확인하는 데 중요합니다.