[TIL][Java][2023-11-09] 연산자 - 산술변환

2023. 11. 9. 20:55TIL/Java

 

산술변환이란?

 

연산 전에 피연산자의 타입을 일치시키는 것을 의미한다.

* 둘 중 저장공간의 크기가 더 큰 타입으로 일치시킨다.

 

 

  • 피연산자의 타입이 int 보다 작은 short 타입이면 int로 변환
  • 피연산자의 타입이 long 보다 작은 int, short 타입이면 long으로 변환
  • 피연산자의 타입이 float 보다 작은 long, int, short 타입이면 float으로 변환
  • 피연산자의 타입이 double 보다 작은 float, long, int, short 타입이면 double으로 변환
  • 이처럼, 변수 여러개를 연산했을 때 결과값은 피연산자 중 표현 범위가 가장 큰 변수타입을 가진다.

 

 

 

// 산술변환

public class Main {

    public static void main(String[] args) {
    
    	short x = 10;
        int y = 20;
        
        int z = x + y; // 결과값은 더 큰 타입인 int 타입의 변수로만 저장할 수 있다.
        
        long lx = 30L;
        long lz = z + lx; // 결과값은 더 큰 타입인 long 타입의 변수로만 저장할 수 있다.                         
        
        float fx = x; // 결과값은 더 큰 타입인 float 타입의 변수로만 저장할 수 있다.
        float fy = y; // 결과값은 더 큰 타입인 float 타입의 변수로만 저장할 수 있다.
        float fz = z; // 결과값은 더 큰 타입인 float 타입의 변수로만 저장할 수 있다.
        
        System.out.println(lz); // 60
        System.out.println(fx); // 10.0
        System.out.println(fy); // 20.0
        System.out.println(fz); // 30.0
    }
}