실수인 1.1을 강제로 정수로 바꾸면 소수점 밑에 있는게 완전 사라지기 때문에 손실이 일어난다
손실이 일어날 수 있기때문에 우리가 명시적으로 int라고 하기전까지는 자동으로 해주지 않는 것.
integer -> String [구글검색]
< *Stack Overflow 활용>
public class Casting {
public static void main(String[] args) {
double a = 1.1;
double b = 1;
double b2 = (double) 1;
System.out.println(b);
// int c = 1.1;
double d = 1.1;
int e = (int) 1.1;
System.out.println(e);
// 1 to String
String f = Integer.toString(1);
System.out.println(f.getClass());
}
}
String strI = Integer.toString(i);
↑ (i) 여기에다가 숫자 1을 넣으면 이 숫자 1을 string으로 바꾸는 것이라고 생각하면 된다.
그러면 숫자 1은 더이상 정수가 아닌 문자열 1이 된다.
*.getClass() : 변수가 갖고 있는 값이 어떤 데이터 타입인지 알려주는 코드.
+ 총 정리 +
어떤 변수나 값을 다른 데이터 타입으로 바꿀 때 손실이 일어날 경우엔 자동으로 형변환이 되지않음.
이 때 명시적으로(강제로) 변환시켜주는 게 "casting"
어떤 값을 다른 타입으로 바꾸고 싶은데 방법을 모를 땐 구글 검색.
검색 키워드 [java ~~ to ~~ casting]
'PL(ProgrammingLanguage) > JAVA' 카테고리의 다른 글
디버거 (0) | 2021.02.17 |
---|---|
IOT Programming (0) | 2021.02.16 |
변수의 효용 (0) | 2021.02.16 |
변수의 정의 (0) | 2021.02.14 |
문자열 다루기(String) (0) | 2021.02.14 |