[Java] 산술 연산자

코드 속의 "진돌"·2023년 12월 21일
0
post-thumbnail

✅ 연산자 시작

+, -, *, /, %와 같이 계산을 수행하는 기호를 연산자라 한다. 자바에서는 다음과 같은 다양한 연산자가 있다. 참고로 더 많은 연산자가 있지만, 여기서는 실무에서 주로 다루는 연산자를 위주로 설명하겠다.

✏️ 연산자 종류

  • 산술 연산자 : +, -, *, /, %(나머지 연산자)
  • 증감(증가 및 감소) : ++, --
  • 비교 연산자 : ==, !=, >, <, >=, <=
  • 논리 연산자 : &&(AND), ||(OR), !(NOT)
  • 대입 연산자 : =, +=, -=, *=, /=, %=
  • 삼항 연산자 : ? :

✏️ 연산자와 피연산자

/icons/tv_lightgray.svg 3 + 4 a + b
  • 연산자(operator) : 연산 기호 (+, -)
  • 피연산자(operand) : 연산 대상 (3, 4, a, b)

✅ 산술 연산자

산술 연산자는 주로 숫자를 계산하는 데 사용된다. 우리가 이미 잘 알고 있는 수학 연산을 수행한다.

  • + (더하기)
  • - (빼기)
  • * (곱하기)
  • / (나누기)
  • % (나머지)

✏️ Operator1

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 계산 과정

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
예외가 발생하면 해당 시점 이후의 결과가 출력되지 않고 프로그램이 종료된다.

profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글