-
[JAVA] 자료형변환(Casting)언어/JAVA 2022. 9. 7. 17:13
-정수에 한해 형변화 연산을 생략 가능
-단순 데이터를 변수에 저장하는 동작까지만 생략 가능
-정수(int, byte, short)들의 산술연산의 결과는 int
// 실수 -> 정수 double d1=1.23456; int a=(int)d1; // a변수에 1이 저장 // 정수 -> 실수 double d2=(double)a; // d2변수에 1.0이 저장 // 문자 -> 정수 char c='A'; a=(int)c; // 문자 'A'에 해당하는 아스키코드 65가 저장 // 정수 -> 문자 a=97; c=(char)97; // 97 아스키코드에 해당하는 'a' 글자 저장
// 용량이 큰 변수값 -> 용량이 작은 변수에 저장해야 할 때 long a2=1000; int a3=(int)a2; double f1=123.123; float f2=(float)f1; // 반대의 경우는 캐스팅 없이 자유롭게 값 전달이 가능함
String
-잘못된 예
// String -> int String s1="123"; // int a4=(int)s1; -> String과 int 간 호환성이 존재하지 않아 error // int -> String int a5=123456; // String str2=(String)a5; -> error
// 호환되지 않는 자료들간의 형변환은 별도의 도구(메서드)가 필요함 // String -> int String str4="123456"; int b4=Integer.parseInt(str4); // int ->String int b5=123456; String str5=String.valueOf(b5); // double -> String double d3=123.1234; // String s3=(String)d3 ->error String s3=String.valueOf(d3); // running normally // String -> double String s4="123.1234"; // double d4=(double)d4 ->error double d4=Double.parseDouble(s4); // running normally // String -> char String s5="ABCDEFG"; // char c5=(char)s5; ->error char c5=s5.charAt(0); // running normally // 0: 첫번째 글자, 1: 두번째 글자, 2: 세번째 글자 // char -> String char c6='A'; // String s6=(char)c6; ->error String s6=String.valueOf(c6);
'언어 > JAVA' 카테고리의 다른 글
[JAVA] switch문 (0) 2022.09.07 [JAVA] if문 (1) 2022.09.07 [JAVA] 연산자(Operator) (0) 2022.09.07 [JAVA] 변수(Variable) (0) 2022.09.07 [JAVA] println (0) 2022.09.07