+
, -
, *
, /
, %
와 같이 계산을 수행하는 기호를 연산자라 한다. 자바에서는 다음과 같은 다양한 연산자가 있다. 참고로 더 많은 연산자가 있지만, 여기서는 실무에서 주로 다루는 연산자를 위주로 설명하겠다.
+
, -
, *
, /
, %
(나머지 연산자)++
, --
==
, !=
, >
, <
, >=
, <=
&&
(AND), ||
(OR), !
(NOT)=
, +=
, -=
, *=
, /=
, %=
? :
+
, -
)3
, 4
, a
, b
)산술 연산자는 주로 숫자를 계산하는 데 사용된다. 우리가 이미 잘 알고 있는 수학 연산을 수행한다.
+
(더하기)-
(빼기)*
(곱하기)/
(나누기)%
(나머지)package operator;
public class Operator1 {
public static void main(String[] args) {
// 변수 초기화
int a = 5;
int b = 2;
// 덧셈
int sum = a + b;
System.out.println("a + b = " + sum); // 출력 a + b = 7
// 뺄셈
int diff = a - b;
System.out.println("a - b = " + diff); // 출력 a - b = 3
// 곱셈
int multi = a * b;
System.out.println("a * b = " + multi); // 출력 a * b = 10
// 나눗셈
int div = a / b;
System.out.println("a / b = " + div); // 출력 a / b = 2
// 나머지
int mod = a % b;
System.out.println("a % b = " + mod); // 출력 a % b = 1
}
}
int sum = a + b // 1. 변수 값 읽기
int sum = 5 + 2 // 2. 변수 값 계산
int sum = 7 // 3. 계산 결과를 sum에 대입
sum = 7 // 최종 결과
5 / 2
의 결과는 2.5
가 되어야 하지만 결과는 소수점이 제거된 2
가 나왔다.int
형끼리 계산하면 계산 결과도 같은 int
형을 사용한다. int
형은 정수이기 때문에 소수점 이하를 포함할 수 없다.%
)5 / 2
는 몫이 2
, 나머지가 1
이다. 따라서 나머지 연산자 5 % 2
의 결과는 1
이 된다.⚠️ 주의! 0으로 나누기
10 / 0
과 같이 숫자는0
으로 나눌 수 없다. (수학에서 허용하지 않음)
방금 예제에서 변수b = 0
을 대입하면5 / 0
이 된다. 이 경우 프로그램에 오류가 발생한다.실행하면 다음과 같은 예외를 확인할 수 있다.
Exception in thread “main” java.lang.ArithmeticException: / by zero
예외가 발생하면 해당 시점 이후의 결과가 출력되지 않고 프로그램이 종료된다.