프로그래밍을 하다보면 간혹 현재의 형을 변환시켜야 할때가 있다.
public class test1 {
public static void main(String[] args) {
double num = 3 / 2;
System.out.println(num); // num == 1.0
}
}
다음과 같은 코드에서 num의 값이 1.5가 출력되길 기대하겠지만 1.0이 출력된다.
이는 정수 3과 정수 2의 연산은 정수 이기 때문이다.
다음을 고치기 위해서 우리는 다음과 같이 형 변환을 해주어야 한다.
public class test1 {
public static void main(String[] args) {
double num = (double)3 / 2; // 형변환 실시
System.out.println(num); // num == 1.5
}
}
그러면 1.5가 print 되는것을 확인할 수 있다.
형변환이 필요 없는경우
double 값을 int에 넣는 것은 문제가 되지만, int 값을 double에 넣는 것은 문제가 되지 않는다. 이는 double이 int 보다 범위가 크기 때문이다.
이처럼 int 값을 long에 long 값을 double에 넣는 것은 가능하지만 역은 불가하다.
(int < long < double)
'인프런 - 백엔드(김영한) > java' 카테고리의 다른 글
class / 객체 (0) | 2024.10.11 |
---|---|
배열 (0) | 2024.10.08 |
입력 (2) | 2024.10.03 |
조건문 (0) | 2024.10.03 |
intellij 단축키 정리 (Window) (0) | 2024.10.03 |