본문 바로가기
IT관련/JAVA_정리 노트

형변환 기초

by XoX 2020. 4. 15.
728x90
개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요.

 

■ 표현범위가 다른 숫자들의 형변환

표현범위가 좁은 데이터(이하, 표.좁.데)  →  표현범위가 넓은 데이터(이하, 표.넓.데)
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("기준");

을 이용하여 문자열을 쪼개서 정수로 변환

 

 

728x90
반응형

'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

댓글