소개
이 랩에서는 Java 에서 두 숫자를 비교하여 어느 숫자가 더 큰지 확인하는 방법을 배우게 됩니다. 프로그래밍에서 조건부 결정을 내리는 데 기본적인 "보다 큼" 연산자 (>) 를 포함한 비교 연산자의 사용법을 살펴볼 것입니다.
실습을 통해 사용자 입력을 읽고, 다양한 숫자 유형을 비교하기 위해 보다 큼 연산자를 적용하며, 숫자가 같은 경우를 처리하는 코드를 구현할 것입니다. 이 랩은 Java 에서 조건문과 비교 연산자를 사용하는 실질적인 경험을 제공할 것입니다.
보다 큼 비교 연산자 사용
이 단계에서는 Java 에서 두 숫자를 비교하기 위해 비교 연산자를 사용하는 방법을 배우겠습니다. 특히 "보다 큼" 연산자 (>) 에 초점을 맞출 것입니다. 비교 연산자는 값 간의 관계를 기반으로 결정을 내릴 수 있도록 해주므로 프로그래밍에서 기본입니다.
보다 큼 연산자를 시연하기 위해 새로운 Java 프로그램을 만들어 보겠습니다.
HelloJava.java파일이 아직 열려 있지 않다면 WebIDE 편집기에서 엽니다.파일의 전체 내용을 다음 코드로 바꿉니다.
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보다 크면 이 줄이 출력됩니다.
파일을 저장합니다 (Ctrl+S 또는 Cmd+S).
Terminal 에서 수정된 프로그램을 컴파일합니다.
javac HelloJava.java컴파일 오류가 없으면 출력이 표시되지 않습니다.
컴파일된 프로그램을 실행합니다.
java HelloJava프로그램은 두 개의 숫자를 입력하라는 메시지를 표시합니다. 첫 번째 프롬프트에 숫자를 입력하고 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 는 종종 비교를 가능하게 하기 위해 자동 유형 변환 (확대) 을 수행합니다. 예를 들어, int와 double을 비교할 때 int는 비교 전에 double로 변환됩니다.
정수와 double 을 비교하도록 프로그램을 수정해 보겠습니다.
WebIDE 편집기에서
HelloJava.java파일을 엽니다.기존 코드를 다음으로 바꿉니다.
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()를 사용하여int를intNumber변수로 읽습니다. scanner.nextDouble()을 사용하여double을doubleNumber변수로 읽습니다.>연산자를 사용하여intNumber와doubleNumber를 비교합니다. 소수점이 있는 숫자가 정수보다 큰지 확인하기 위해 두 번째if문을 추가했음을 알 수 있습니다.
- 이제
파일을 저장합니다 (Ctrl+S 또는 Cmd+S).
Terminal 에서 프로그램을 컴파일합니다.
javac HelloJava.java프로그램을 실행합니다.
java HelloJava프롬프트가 표시되면 정수와 소수점을 입력합니다.
예를 들어, 정수로
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를 반환합니다.
두 숫자를 비교하고 첫 번째 숫자가 두 번째 숫자보다 크거나, 작거나, 같은지 나타내는 메시지를 인쇄하도록 프로그램을 수정해 보겠습니다.
WebIDE 편집기에서
HelloJava.java파일을 엽니다.기존 코드를 다음으로 바꿉니다.
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): 이것은 이전과 동일한 검사입니다.number1이number2보다 크면 첫 번째 메시지가 인쇄됩니다.else if (number1 < number2): 이것은 새로운 부분입니다.else if블록은 이전if조건 (number1 > number2) 이 false 인 경우에만 실행됩니다. 여기서는 보다 작음 연산자 (<) 를 사용하여number1이number2보다 작은지 확인합니다.else: 이 블록은 이전if또는else if조건이 모두 참이 아닌 경우 실행됩니다. 이 경우number1이number2보다 크지 않고number2보다 작지 않으면number2와 같아야 합니다.
- 이제 테스트의 유연성을 높이기 위해 두 개의
파일을 저장합니다 (Ctrl+S 또는 Cmd+S).
Terminal 에서 프로그램을 컴파일합니다.
javac HelloJava.java프로그램을 실행합니다.
java HelloJava두 숫자를 입력합니다 (같은 경우 포함).
첫 번째 숫자로
7.5를 입력하고 두 번째 숫자로7.5를 입력하면 출력은 다음과 같습니다.Enter the first number: 7.5 Enter the second number: 7.5 The two numbers are equal.10과5를 입력하면 "The first number is greater than the second number."가 표시됩니다.5와10을 입력하면 "The first number is less than the second number."가 표시됩니다.
이제 if-else if-else 문과 동등성 연산자 (==) 를 사용하여 동등성을 포함한 다양한 비교 결과를 성공적으로 처리했습니다.
요약
이 Lab 에서는 Java 에서 숫자가 다른 숫자보다 큰지 확인하는 방법을 배웠습니다. 사용자가 입력한 두 정수 값을 비교하기 위해 if 문 내에서 비교 연산자 >를 사용하는 것으로 시작했습니다. 이는 코드에서 비교 연산자를 사용하여 결정을 내리는 기본적인 개념을 보여주었습니다.
그런 다음 다양한 숫자 유형을 처리하는 방법을 탐구하여 double 및 float와 같은 다양한 데이터 유형에 대해 비교 로직이 올바르게 작동하도록 했습니다. 마지막으로, 두 숫자가 같은 시나리오를 해결하여 "크거나 같음" 연산자 (>=) 또는 동등성에 대한 별도의 검사를 포함하도록 조건부 로직을 확장했습니다.



