
🧮 간단한 사칙연산 계산기 예제 (Java)
이 예제는 변수 선언 및 초기화와 기본 자료형을 활용하여 두 정수에 대한 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 수행하는 방법을 보여줍니다. 특히, 정확한 나눗셈 결과를 얻기 위해 형 변환을 사용하는 방법을 강조했습니다.
1. 예제 코드
Java
public class SimpleCalculator {
public static void main(String[] args) {
// 1. 변수 선언 및 초기화
int number1 = 20; // 첫 번째 정수
int number2 = 7; // 두 번째 정수
// 2. 덧셈 (Addition)
int sum = number1 + number2;
// 3. 뺄셈 (Subtraction)
int difference = number1 - number2;
// 4. 곱셈 (Multiplication)
int product = number1 * number2;
// 5. 나눗셈 (Division)
// **중요: 정확한 소수점 결과를 위해 피연산자 중 하나를 double로 형 변환**
double quotient = (double) number1 / number2;
// 6. 나머지 (Modulus) - 추가
int remainder = number1 % number2;
// 7. 결과 출력
System.out.println("첫 번째 숫자: " + number1);
System.out.println("두 번째 숫자: " + number2);
System.out.println("-------------------------");
System.out.println("덧셈 결과: " + sum); // 27
System.out.println("뺄셈 결과: " + difference); // 13
System.out.println("곱셈 결과: " + product); // 140
System.out.println("나눗셈 결과 (몫): " + (number1 / number2)); // 2 (정수 나눗셈)
System.out.println("나눗셈 결과 (실수): " + quotient); // 2.85714... (실수 나눗셈)
System.out.println("나머지 결과: " + remainder); // 6
}
}
2. 코드 해설
| 연산 | 코드 라인 | 자료형 및 핵심 개념 |
| 변수 | int number1 = 20; | 정수형인 **int**를 사용하여 두 숫자를 선언하고 초기화합니다. |
| 덧셈/뺄셈/곱셈 | int sum = number1 + number2; | 두 정수의 연산 결과는 다시 **int**에 저장됩니다. |
| 나눗셈 (정수) | number1 / number2 | 두 피연산자가 모두 int일 경우, 결과도 int가 되며 소수점 이하는 버려집니다 (20 / 7의 몫인 2가 됨). |
| 나눗셈 (실수) | double quotient = (double) number1 / number2; |
명시적 형 변환 (double)을 사용하여 number1을 실수형으로 바꿉니다. 이로 인해 연산 전체가 **double**로 진행되어 정확한 실수 결과(2.857...)를 얻습니다. |
| 나머지 | int remainder = number1 % number2; |
**나머지 연산자(%)**를 사용하여 정수 나눗셈의 나머지를 계산합니다. |
⌨️ 사용자 입력 기반 사칙연산 계산기 예제 (Java with Scanner)
이 예제는 Java의 Scanner 클래스를 사용하여 콘솔에서 사용자 입력을 받고, 입력된 두 숫자로 사칙연산을 수행합니다.
1. 예제 코드
Java
import java.util.Scanner; // Scanner 클래스를 사용하기 위해 import 합니다.
public class ScannerCalculator {
public static void main(String[] args) {
// 1. Scanner 객체 생성 (사용자 입력을 받기 위한 준비)
Scanner scanner = new Scanner(System.in);
System.out.println("--- 간단한 사칙연산 계산기 ---");
// 2. 첫 번째 숫자 입력 받기
System.out.print("첫 번째 정수를 입력하세요: ");
int number1 = scanner.nextInt(); // 사용자가 입력한 정수 값을 읽어 number1에 저장
// 3. 두 번째 숫자 입력 받기
System.out.print("두 번째 정수를 입력하세요: ");
int number2 = scanner.nextInt(); // 사용자가 입력한 정수 값을 읽어 number2에 저장
// 4. 사칙연산 수행
int sum = number1 + number2; // 덧셈
int difference = number1 - number2; // 뺄셈
int product = number1 * number2; // 곱셈
// 5. 나눗셈 (정확한 실수 결과 처리를 위해 형 변환)
// 두 정수 중 하나를 (double)로 강제 형 변환하여 실수 연산을 수행합니다.
double quotient = (double) number1 / number2;
// 6. 결과 출력
System.out.println("-------------------------");
System.out.println("입력된 두 숫자: " + number1 + ", " + number2);
System.out.println("덧셈 결과: " + sum);
System.out.println("뺄셈 결과: " + difference);
System.out.println("곱셈 결과: " + product);
System.out.println("나눗셈 결과: " + quotient);
System.out.println("-------------------------");
// 7. Scanner 객체 닫기 (자원 해제)
scanner.close();
}
}
2. 코드 해설 및 학습 포인트
| 번호 | 코드 라인 | 학습 포인트 |
| 1 | import java.util.Scanner; | Scanner 클래스를 사용하려면 반드시 코드 맨 위에 이 import 문을 추가해야 합니다. |
| 2 | Scanner scanner = new Scanner(System.in); |
사용자로부터 입력을 받기 위해 Scanner 객체를 생성합니다. System.in은 표준 입력 장치(키보드)를 의미합니다. |
| 3 | int number1 = scanner.nextInt(); |
nextInt() 메서드는 사용자가 입력한 정수(integer) 값을 읽어와 변수에 저장합니다. |
| 4 | double quotient = (double) number1 / number2; |
number1과 number2가 모두 **int**이므로, 나눗셈 전에 **(double)**을 붙여 number1을 double 자료형으로 강제 형 변환하여 정확한 실수 나눗셈 결과를 얻습니다. |
| 5 | scanner.close(); | Scanner 사용이 끝난 후에는 close() 메서드를 호출하여 사용했던 시스템 자원을 해제하는 것이 좋습니다. |
'Java_language' 카테고리의 다른 글
| 자바(Java) 변수: 값을 담는 '상자'로 쉽게 이해하기! (0) | 2025.11.13 |
|---|---|
| Scanner 입력받기 (0) | 2025.11.12 |
| 2강 변수와 자료형 연습문제 (0) | 2025.11.12 |
| Java 개발 환경 설정 (Visual Studio Code) (0) | 2025.11.10 |
| 코딩을 요리 레시피에 비유하기 (0) | 2025.11.10 |