[Java] 자바 #5 Casting(형변환)
- 프로그래밍 언어/Java
- 2019. 2. 2. 12:41
Casting(형변환)
형변환, 자료형 변환, Type Casting
- A라는 자료형을 B라는 자료형으로 바꾸는 작업.
- ex) (B)A; -> ()소괄호를 "형변환 연산자"라고 한다.
1. 암시적 형변환
- 1칸 => 2칸..
- 작은형 => 큰형
- 100% 안전한 작업!
1 2 3 4 5 6 7 8 9 | class HelloWorld { public static void main(String[] args){ byte b1 = Byte.MIN_VALUE; //원본 short s1; //복사본 s1 = /*(short)*/b1; // b1앞에 (short)가 생략된 표현임. } } | cs |
2. 명시적 형변환
l1 = 1000;
n1 = (int)l1;
s1 = (short)l1;
b1 = (byte)l1;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | class HelloWorld { public static void main(String[] args){ byte b1; short s1; int n1; long l1; //암시적 형변환 b1=10; s1=b1; n1=b1; l1=b1; System.out.printf("s1 : %d\nn1 : %d\nl1 : %d\n",s1,n1,l1); /* s1 : 10 n1 : 10 l1 : 10 */ //명시적 형변환 l1=1000; n1=(int)l1; s1=(short)l1; b1=(byte)l1; System.out.printf("s1 : %d\nn1 : %d\nl1 : %d\n",s1,n1,b1); /* s1 : 1000 n1 : 1000 l1 : -24*/ } } | cs |
< 실수형끼리 형변환 >
float f1 = 1.23F; //원본
double d1 = f1;
System.out.printf("d1 : %.2f\n",d1); -> [d1 : 1.23]
d1=3.12; //원본
f1=(float)d1;
System.out.printf("f1 : %.2f\n",f1); -> [f1 : 3.12]
< 다른자료형끼리 형변환 (정수->실수, 실수-> 정수, 등) >
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class HelloWorld { public static void main(String[] args){ //(정수 => 실수) int n2; double d2; n2=123; d2=n2; System.out.println(d2); //변수를 실수로 형변환 -> [123.0] System.out.println((double)321); //상수를 실수로 형변환 -> [321.0] System.out.println(321D); // -> [321.0] System.out.println(321.0); // -> [123] //(실수 => 정수) d2 = 123.656; //실수의 정수화 -> 버림. n2=(int)d2; System.out.println(n2); //-> [123] } } | cs |
char(정수형)
-char는 정수형 자료형과의 형변환만 지원한다.(byte(x), short(x), int, long)
-char는 실수형과는 형변환을 안한다.
문자 코드값
- A : 65 / a : 97
- 0 ~ 9 : 48~57(유니코드)
- \r : 13 \n : 10 \t : 9
- 가(44032) ~ 힣(55203)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class HelloWorld { public static void main(String[] args){ System.out.println((int)'A'); // 65 System.out.println((int)'Z'); // 90 System.out.println((int)'a'); // 97 System.out.println((int)'z'); // 122 System.out.println((int)'0'); // 48 System.out.println((int)'9'); // 57 System.out.println((int)'\r'); // 13 System.out.println((int)'\n'); // 10 System.out.println((int)'\t'); // 9 System.out.println((int)'가'); //44032 System.out.println((int)'힣'); //55203 } } | cs |
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 자바 #7 에러 종류 (0) | 2019.02.02 |
---|---|
[Java] 자바 #6 연산자 (0) | 2019.02.02 |
[Java] 자바 #4 콘솔 입출력 해보기 (0) | 2019.02.01 |
[Java] 자바 #3 Escape (0) | 2019.01.31 |
[Java] 자바 #2 자료형과 변수 (0) | 2019.01.31 |