728x90
📋헷갈리니까 기록해두기
형변환
📍int -> long -> double
- 작은 범위에서 큰 범위로는 대입 가능 => a.k.a 묵시적 형변환 || 자동 형변환
📍 큰 범위 -> 작은 범위 대입에서 발생하는 문제 // 이 때는 명시적 형변환을 사용해야함
- 소수점 버림
- 오버플로우
+ 오버플로우란?
기존 범위를 초과해서 표현하게 되면 전혀 다른 숫자가 표현되는 현상
연산 / 형변환
1. 같은 타입끼리의 계산은 같은 타입의 결과가 나온다
- int + int = int / double + double = double
2.서로 다른 타입의 계산은 큰 범위로 자동 형변환이 발생
- int + long = long + long 으로 자동 형변환 발생
- int + double = double + double 로 자동 형변환 발생
예시)
int div1 = 3/2; // 1 = int / int = int
System.out.println("div1 = " + div1);
double div2 = 3 / 2; int / int
double div2 = 1; // int
double div2 = (double)1; // double에 대입. 자동 형변환 발생
double div2 = 1.0 // int 1 에서 double 1.0으로 형변환 됨
=> 정수 1을 더블로 바꾸면 1.0 됨
double div3 =3.0/2; // 1.5
// double / int 이므로, double / double로 형변환 발생
double div3 = 3.0 / 2.0; // double / double = double
double div3 = 1.5;
=> 더 큰 것으로 형변환 되는데 double이 더 크므로 double로 형변환됨
double div4 = (double) 3/2; // 1.5 => 명시적 형변환 사용 !
double div4 = (double) 3 / (double) 2; // double + int이므로, double + double로 형변환 발생
double div4 = 3.0 / 2.0; // double/double = double
double div4 = 1.5;
'Coding > JAVA' 카테고리의 다른 글
| [JAVA]임시 변수 temp (0) | 2024.06.06 |
|---|---|
| [JAVA]Scanner로 간단한 프로그램 만들기 (0) | 2024.03.19 |
| [JAVA] 중첩 for문 사용한 예제 ( 구구단, 피라미드) (0) | 2024.03.19 |
| [JAVA] while / for 반복문 사용 간단 예제 (0) | 2024.03.19 |
| [JAVA] 가위바위보 게임 (0) | 2024.03.18 |