Java
Java_15_형 변환 Type Casting
hyeonga
2023. 9. 15. 06:59
반응형
- 형 변환_Type casting
- 값의 크기에 따라 명시적, 묵시적 형 변환을 사용할 수 있습니다.
- 자동 형 변환 _ 작은 자료형에서 큰 자료형으로 이동합니다.
- 강제 형 변환 _ 큰 자료형에서 작은 자료형으로 이동할 때 (바꾸고자 하는 자료형)을 붙여 작업합니다.
- 실수형은 정수형보다 항상 크다.
double > float > long > int
- char_ 문자형이므로 음수가 없으므로 byte나 int형으로 변환이 불가능합니다.
- int 이상의 자료형에서의 연산 결과는 큰 자료형 값으로 표시됩니다.
- int 이하의 자료형에서의 연산 결과는 int 값으로 표시됩니다.
- 형변환은 되도록 하지 않는 것이 좋습니다.
- 값의 유실이 있을 수 있기 때문입니다.
'TypeCasting.java'
=====
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
30
31
32
|
package basic;
public class TypeCasting{
public static void main(String[] args) {
byte a = 10;
int b = a;
//자동 형 변환 _ 크기가 1인 a 값을 크기가 8인 b 값에 자동으로 들어간다.
System.out.println(a); // 10
System.out.println(b); // 10
//byte c = b;
// 크기가 8인 b 값을 크기가 1인 c 값에 자동으로 들어갈 수 없다.
byte c = (byte)b;
// 강제 형 변환 _ 크기가 큰 자료형을 작은 자료형으로 변환하기 위함
System.out.println(c); // 10
byte a2 = 10;
char b2 = (char)a2;
short c2 = (short)b2;
char d = (char)c2;
byte e = (byte)d;
System.out.println(b2); //
System.out.println(c2); // 10
System.out.println(d); //
System.out.println(e); // 10
String name = "홍길동";
System.out.println(name); // 홍길동
}
}
|
cs |
'TypeCasting.java'
=====
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
|
package basic;
public class TypeCasting{
public static void main(String[] args) {
byte a = 10;
byte b = 10;
// byte c = a + b;
/* 오류 _ Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from int to byte */
int c = a + b;
System.out.println(c); // 20
// 가능
byte c2 = (byte)(a + b);
// int형으로 받아줘야 하므로 byte형으로 변환시켜야 함
System.out.println(c2); // 20
int d = 10;
float e = 10.23f;
// int f = d + e;
/* 오류 _ Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from float to int */
int f = (int)(d + e);
// float이 int 보다 큰 값이므로 int형으로 변환해주어야 한다.
System.out.println(f); // 20
}
}
|
cs |
반응형