20.03 ~ 20.08 국비교육/JAVA

4. 데이터 타입, 형변환

찹키리 2020. 3. 21. 19:26

<데이터 형(타입)>

 

미리 약속한 메모리 크기: 8가지

 

1) ★boolean: T/F, 1 bit사용, 1 byte할당(메모리 할당 단위는 바이트기 때문에)

----------------------------------------정수

2) byte: + - 정수, 1byte(-128 ~ +127)

3) short: + - 정수, 2byte

4) ★int: 4byte

5) long: 8byte(과학 프로그램 같은거 짤 때)

----------------------------------------실수

6) float: 실수, 4byte

7) double: 8byte

*실수는 기본적으로 double로 출력되기 때문에 float 사용할 경우에는 수의 뒤에 f 붙여야 함

----------------------------------------문자

8) char: "유니코드"문자, 2byte

 

*"A": 문자열

*'A': 문자

 

*문자열 + 수 = 문자열수 연결(문자열로 변환된다)

 

43: 10진수

042: 8진수

0x43: 16진수

 

 

 

<지수>

 

표현자릿수 부족시 사용

12.34E3 = *10의3승(0이 세 개 붙었다)

12.34E-3 = /10의3승

 

 

 

<String>

 

String은 기본형이 아님, 첫 글자 = 대문자 -> 클래스★

클래스 객체변수(인스턴스 변수, 레퍼런스 변수) -> 4byte★(암기하세요)

문자열은 상수★

*자바에서는 주소(address)라는 말 쓰지 않음(C, C++에서만 사용) -> "레퍼런스" 사용 = 간접주소(주소를 4byte짜리로 만든 것)

-----결론-----

변수: 메모리를 할당해 직접 값을 입력

String(상수): 실제 값은 다른 데 있고, 그 값을 가리키는 게 레퍼런스, 즉 간접주소(해쉬코드)를 사용

 

 

 

<형변환(casting)>

 

1) 데이터 적은 것 -> 큰 것에 대입: 자동 형변환

2) 큰 것 -> 적은 것: 형변환(큰 것을 적은 것에 맞춰서 잘라내던가 해야 함), 실수 -> 정수로 변환할 때 가장 많이 등장

               작은 타입 = (작은타입)큰타입

3) *주의: casting시 손실이 발생하면 casting 금지*