최신글
hyeonga_code
Java_16_Wrapper Class 래퍼클래스, 언박싱, 박싱 본문
반응형
- Wrapper class
- Unboxing_언박싱
- 참조형 데이터를 기본형 데이터 타입으로 형 변환합니다.
'참조형 데이터 타입'.parse'참조형 데이터 타입_첫 글자 대문자'('형 변환 할 변수');
- Boxing_박싱
- 기본형 데이터를 참조형 데이터 타입으로 형 변환합니다.
'변환할 참조형 데이터 타입'.valueOf('형 변환 할 변수');
'TypeConversion.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package basic;
//모든 클래스는 패키지 안에 생성합니다.
public class TypeConversion {
// 모든 함수_메소드는 클래스 안에 작성합니다.
public static void main(String[] args) {
// Java의 모든 코드는 함수 안에 작성합니다.
double doubleNum = 3.14;
int intNum = (int)doubleNum; // 소수점이 절삭되어 정수형으로 저장됩니다.
// > 기본형 타입 변환
System.out.println("doubleNum : " + doubleNum);
System.out.println("intNum : " + intNum);
/*
doubleNum : 3.14
intNum : 3
*/
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
*/
/*
byte c = (byte)(a + b);
- int형으로 받아줘야 하므로 byte형으로 변환해주어야 합니다.
*/
int c = a + b;
System.out.println(c); // > 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
String st1 = "1", st2 = "2";
// 동일한 데이터 타입을 가지는 경우 콤마로 연속해서 선언할 수 있습니다.
String st3 = st1 + st2;
System.out.println("st3 : " + st3); // > 12
// 문자열에 숫자가 있더라도 문자열로 취급합니다.
int num1 = 10;
System.out.println(st2 + num1); // > 210
// 문자열과 정수형의 연산에서는 모두 문자열로 취급합니다.
// Wrapper class
/*
int num2 = (int)st2;
- 오류 : Cannot cast from String to int
- 외부에서 받아오는 값은 모두 문자열로 인식합니다.
- String은 Heap에 값이 저장되기 때문에 외부로 인식합니다.
(int)_기본형 st2_참조형
- 기본형은 참조형으로 직접적으로 변환이 불가합니다.
- Stack 간의 변환, Heap 간의 변환은 가능합니다.
>>> Heap의 데이터를 Stack으로 옮기는 방법을 사용합니다.
*/
int num2 = Integer.parseInt(st2);
// 문자열의 데이터를 Stack의 int형 데이터 타입으로 형 변환합니다.
System.out.println( num2 + 3 ); // > 5
}
}
|
cs |
반응형
'Java' 카테고리의 다른 글
Java_18_표준 입출력 (0) | 2023.09.17 |
---|---|
Java_17_문자 데이터 문자, 문자열 (0) | 2023.09.16 |
Java_15_형 변환 Type Casting (0) | 2023.09.15 |
Java_14_자료형, 변수, 상수, 오버플로우, 언더플로우 (0) | 2023.09.15 |
Java_13_기본 형식 (0) | 2023.09.14 |