[자바의 정석] 연산자

yejichoi·2023년 11월 22일

JAVA

목록 보기
3/7

연산자의 우선순위

증감 연산자

증감 연산자는 변수의 값을 1 증가시키거나 1 감소시키는 연산자로 연산 수행 시 피연산자 타입 변환이 불필요하다.

그러나, 증감연산자가 수식이나 메서드 호출에 포함되지 않고 독립적인 하나의 문장으로 쓰인 경우에는 전위형과 후위형의 차이x

++i; // i의 값을 1 증가
i++; // 위의 문장과 차이 x

이항 연산자

산술 연산자

피연산자들의 타입이 동일하지 않을 경우 타입 일치시킨 후 연산을 수행한다.
두 피연산자가 모두 int타입인 경우, 나누기 연산 결과는 int타입이다. int타입은 소수점을 저장하지 못하므로 정수만 남고 소수점 이하는 버려진다.
올바른 연산결과를 얻기 위해서는 두 피연산자 중 어느 한 쪽을 실수형으로 형변환 해야한다.

public class ArithmeticOperatorExample {
    public static void main(String[] args) {
        int v1 = 5;
        int v2 = 2;
        int result1 = v1 + v2;
        System.out.println("result1 : " + result1);

        int result2 = v1 - v2;
        System.out.println("result2 : " + result2);

        int result3 = v1 * v2;
        System.out.println("result3 : " + result3);

        int result4 = v1 / v2;
        System.out.println("result4 : " + result4);

        // 소수점 이하의 수까지 구하기 위해서는 피연산자 중 하나는 실수 타입이어야함
        double result6 = (double) v1 / v2;
        System.out.println("result6 : " + result6); // 2.5

        // int 타입의 연산 결과는 int인데 이를 double 타입으로 저장한다고 해서 소수점 이하의 값이 출력되지 않음
        double result = v1 / v2;
        System.out.println("result : " + result); // 2.0

        int result5 = v1 % v2;
        System.out.println("result5 : " + result5);
    }
}

0개의 댓글