Java 산술 연산자
산술 연산자
산술 연산자는 숫자를 계산하는데 사용된다.
- 더하기: +
- 빼기: -
- 곱하기: *
- 나누기: /
- 나머지: %
Java 에서 int x 와 int y 명명하여 산술 연산자 더하기, 빼기, 곱하기, 나누기, 나머지를 구현해보도록 한다.
public class Hello1 {
public static void main(String[] args) {
int x = 9;
int y = 4;
int sum = x + y;
System.out.println("x + y = " + sum);
int diff = x - y;
System.out.println("x - y = " + diff);
int mul = x * y;
System.out.println("x * y = " + mul);
int div = x / y;
System.out.println("x / y = " + div);
int mod = x % y;
System.out.println("x % y = " + mod);
}
}
Code Output::x + y = 13
x - y = 5
x * y = 36
x / y = 2
x % y = 1
올바르게 코드를 기입하였다면 Result 결과와 같아야한다.
(참고사항) 나눗셈
/ 나눗셈 연산자를 x / y 사용하였다.
x의 값은 9 리터럴 할당
y의 값은 4 리터럴 할당
9 / 4는 수학에서 2.25 이지만 Java에서는 int 형으로 할당하였기 때문에 소수점을 모두 버려 2로 출력하였다.
소숫점을 표기하려면 형변환이 필요하다.
(참고사항) 나머지
% 나머지 연산자는 9 / 4 를 나눈 후의 나머지 숫자를 출력한다.
(주의사항) 나눗셈 연산시 0으로 계산하면 안된다.
나눗셈 10 / 0 을 나누면 자바는 java.lang.ArithmeticException 오류가 발생한다.
오류메시지: "Exception in thread "main" java.lang.ArithmeticException: / by zero" 숫자 0으로 나누지 말라는 오류메시지이다.
위 문제점으로 나눗셈을 사용할 때 변수가 숫자 0으로 바뀌면서 문제가 발생할 수 있으니 예외사항을 만들도록 한다.
산술 연산자 우선순위
산술 연산자도 기호 계산시 우선순위가 있다. 만약 x + y * z
가 있을 때 y * z 부터 곱하고 x 를 더해야한다.
int x = 5;
int y = 2;
int z = 3;
int res = x + y * z;
System.out.println(res);
Code Output:11
위와 같은 코드 계산시 y * z
를 먼저 곱해서 6으로 만든 후 x 값 5를 더해 11이 될 것이다.
만약 복잡해지는 수식이 있다면 괄호()
를 감싸서 표현해 이해하기 쉽도록 만들어주자.
int x = 5;
int y = 2;
int z = 3;
int a = 4;
int b = 6;
int res = ((x * y) + (z * a)) + b;
System.out.println(res);
Code Output:28