최신글
hyeonga_code
Java_15_형 변환 Type Casting 본문
반응형
- 형 변환_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 |
반응형
'Java' 카테고리의 다른 글
Java_17_문자 데이터 문자, 문자열 (0) | 2023.09.16 |
---|---|
Java_16_Wrapper Class 래퍼클래스, 언박싱, 박싱 (0) | 2023.09.16 |
Java_14_자료형, 변수, 상수, 오버플로우, 언더플로우 (0) | 2023.09.15 |
Java_13_기본 형식 (0) | 2023.09.14 |
Java_12_Java, Javac 이클립스에서 자바 버전 확인하기 (0) | 2023.09.13 |