이 글에서는 Java를 사용해 숫자가 양수인지 음수인지 판별하는 방법을 알아봅니다. 원리는 매우 간단합니다. 주어진 숫자가 0보다 큰지 작은지만 비교하면 됩니다.
그럼 실제 동작 결과부터 살펴보겠습니다.
입력 및 출력 예시
입력
사용자가 다음과 같이 숫자를 입력했다고 가정해 보겠습니다.
Enter the number: -3
출력
숫자 -30은(는) 음수입니다
알고리즘
Step 1 - 시작 Step 2 - 정수형 변수 my_input을 선언한다. Step 3 - 사용자로부터 값을 입력받거나, 값을 직접 정의한다. Step 4 - if-else 조건문으로 my_input > 0 인지 검사한다. Step 5 - 결과가 참이면 양수, 거짓이면 음수이다. Step 6 - 결과를 화면에 출력한다. Step 7 - 종료
예제 1. 사용자 입력값으로 판별하기
첫 번째 예제는 Scanner 클래스를 사용해 사용자로부터 직접 숫자를 입력받아 판별하는 방식입니다.
import java.util.Scanner;
public class PositiveNegative {
public static void main(String[] args) {
int my_input;
System.out.println("필요한 패키지가 임포트되었습니다");
Scanner my_scanner = new Scanner(System.in);
System.out.println("Scanner 객체가 생성되었습니다");
System.out.print("숫자를 입력하세요 : ");
my_input = my_scanner.nextInt();
if(my_input > 0)
System.out.println("숫자 " + my_input + "은(는) 양수입니다");
else
System.out.println("숫자 " + my_input + "은(는) 음수입니다");
}
}실행 결과
필요한 패키지가 임포트되었습니다 Scanner 객체가 생성되었습니다 숫자를 입력하세요 : -30 숫자 -30은(는) 음수입니다
예제 2. 미리 정의된 값으로 판별하기
두 번째 예제는 입력 없이, 코드 안에서 미리 정의된 정수 값을 그대로 가져와 판별한 뒤 콘솔에 출력하는 방식입니다.
public class PositiveNegative {
public static void main(String[] args) {
int my_input;
my_input = -30;
System.out.println("정의된 숫자 : " + my_input);
if(my_input > 0)
System.out.println("숫자 " + my_input + "은(는) 양수입니다");
else
System.out.println("숫자 " + my_input + "은(는) 음수입니다");
}
}실행 결과
정의된 숫자 : -30 숫자 -30은(는) 음수입니다
마치며
두 예제 모두 if(my_input > 0)이라는 단순한 조건 하나만으로 부호를 판별합니다. 다만 한 가지 유의할 점이 있습니다. 0은 양수도 음수도 아니기 때문에, 위 코드에서는 0이 입력될 경우 '음수'로 출력됩니다. 보다 정확한 로직이 필요하다면 else if(my_input == 0) 분기를 추가해 세 가지 경우(양수·음수·영)를 구분하는 것이 좋습니다.