표현범위가 좁은 데이터(이하, 표.좁.데) → 표현범위가 넓은 데이터(이하, 표.넓.데) |
byte → short / char → int → long → float → double |
자동형변환?
타입을 변경해도 정보손실이 일어나지 않으면 자동형변환 가능
표.넓.데.형태 변수 = 표.좁.데;
ex) double i = 3;
※ 부모class는 자식class 형변환의 명령어를 쓰지않고 자동형변환이 된다.
강제형변환?
표.좁.데.형태 변수 = (표.좁.데.형태)표.넓.데;
ex) int i = (int)3.0;
※ 자식class는 부모class를 수동적으로 명령어를 써서 강제형변환해야 한다.
아래는 표현범위 제약이 다른 형변환 예시이다.
string <=> int 형변환
얘들은 위에처럼 숫자끼리의 표현범위의 문제가 아닌, 숫자와 문자라서 조금 특이하다.
ex 1)
String x = "123";
int y = Integer.parseInt(x);
System.out.printf("%d" , y);
문자열을 정수로 바꿀 때,
int y = "123" 이런 식으로 하면 편하겠지만, 오류가 난다.
문자열을 정수로 바꿔주는 수단인 Integer.parseInt(strs[ ]);를 사용해야 함.
ex 2)
int a = 123;
String b = Integer.toString(a);
System.out.printf("%s" , b);
ex 3)
String date = "2020.4.15";
String[] strs = date.split("\\.");
int year = Integer.parseInt(strs[0]);
int month = Integer.parseInt(strs[1]);
int day = Integer.parseInt(strs[2]);
System.out.printf("날짜: %04d-%02d-%02d \n" , year, month, day);
※ String[] strs = 변수명.split("기준");
을 이용하여 문자열을 쪼개서 정수로 변환
'IT관련 > JAVA_정리 노트' 카테고리의 다른 글
변수선언 배열선언 (0) | 2020.04.20 |
---|---|
객체 기초 (0) | 2020.04.16 |
print println pritf 차이점 (0) | 2020.04.15 |
템플릿 기초 (0) | 2020.04.14 |
조건문 기초 (0) | 2020.04.14 |
댓글