반응형
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 |