반응형

1. 연산식에서의 자동 타입 변환

서로 다른 타입의 피연산자가 있을 경우 두 연산자 중 크기가 큰 타입으로 자동변환된 후 연산을 수행한다.

double result = intValue + doubleValue;
//int타입 변수가 double값으로 변환된 후 연산

 

2. 정수 연산일 경우 int 타입을 기본으로 한다.

byte, char, short는 int 타입으로 변환된 후 연사이 수행되며, 연산의 결과도 int 타입이 된다.

 

3. char 타입의 연산 결과는 int 타입으로 산출

char ai = 'A';
int result = ai + 1;
char na = (char) result; // B 임

 

4. 부호 연산자(+, - )의 산출 타입은 int 

short s = 100;
int result = -s;

 

5. 비트 반전 연산자 산출 타입은 int

비트 반전 연산자는 정수타입 (byte, short, int, long)의 피연산자에만 사용됨

byte v1 = 10;
int v2 = ~v1;

 

6. 비트 반전 연산자의 산출값이 1을 더하면 부호가 반대인 정수를 얻을 수 있다.

byte v1 = 10;
int v2 = ~v1 + 1 //-10임

 

7. 산술 연산자 규칙

  • - 피연산자들이 모두 정수타입이고, int 타입(4byte)보다 크기가 작은 타입일 경우 모두 int 타입으로 변환 후 연산을 수행하며, 산출 타입은 int가 됨
  • - 피연산자들이 모두 정수타입이고, long 타입이 있을 경우 모두 long 타입으로 변환 후, 연산을 수행하며, 산출 타입은 long이 됨.
  • - 피연산자 중 실수타입(float, double)이 있을 경우, 크기가 큰 실수 타입으로 변환 후 연산을 수행하며, 연산의 산출 타입은 실수 타입이 됨.
  • ex) int + double -> double + double = double
  • - 즉 연산의 결과를 실수로 얻고 싶다면 피연산자 중 최소한 하나는 실수 타입이어야 한다.

 

int num1 = 10;
int num2 = 4;
int result1 = num1 / num2;		//result1 = 2
double result2 = num1 / num2;		//result2 = 2.0
double result3 = (double) num1 / num2 	//result3 = 2.5
반응형

'코딩 관련 > Java' 카테고리의 다른 글

[JAVA] excel 읽기  (1) 2021.08.23
[JAVA] txt파일 읽기 / 쓰기  (0) 2021.07.13
[JAVA] 변수 헷갈리는 내용 정리  (0) 2021.04.22
[JAVA] linux Shell 명령어 실행  (0) 2021.03.25
[JAVA] 콘솔 출력. System.out  (0) 2021.03.24

+ Recent posts