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