티스토리 뷰

Programming Language/Java

3. 데이터 타입

K_sanghoon 2018. 6. 29. 00:23

3] 데이터타입

: 모든 변수에는 타입이 있으며, 타입에 따라 저장할 수 있는 값의 종류와 범위가 달라진다.

: 다른 언어에서도 비슷하게 적용되는 것을 알 수 있다.


3.1) 타입의 종류 

: 기본타입

:: 정수/ 실수/ 문자/ 논리 리터럴을 직접 저장하는 타입

:: 크기나 범위에대해서는 외울 필요 없음. 그냥 찾아서 확인하면되지만 자주 쓰다보면 대충 알게 된다.

 값의 종류

기본 타입 

 메모리 사용크기

저장되는 값의 범위 

 정수

byte 

1byte 

8bit 

-2^7~(2^7-1) / -128~127

char

2byte

16bit 

0~2^16-1 

short 

2byte 

16bit 

-2^15~(2^15-1) / -32768~32767

int 

4byte 

32bit 

-2^31~(2^31-1) / -2147483684~2147483647 

long 

8byte 

64bit 

-2^63~(2^63-1) 

 실수

float 

4byte

32bit 

 

double 

8byte 

64bit 

 

논리 

boolean 

1byte 

8bit 

 


: 정수 타입(byte/ char/ short/ int /long) - 자세한 내용은 생략

:: byte - 1byte

::: 2진데이터를 처리할때 주로 사용 / 범위가 적어서 오버플로우를 자주 볼수 있을 것이다.

:: char - 2byte

::: 자바는 문자를 Unicode로 처리하며 일반적으로 문자를 저장할때 사용된다.

::: 만약, 문자열을 저장하고 싶다면 자바에서는 String형으로 변수를 선언하면 된다.

-> 여기서 String은 기본타입이 아닌 하나의 class타입으로 참조변수이다.

:: short - 2byte

::: 작은 정수값을 저장할 때 사용되는 변수이다.

:: int - 4byte

::: short와 같은 정수값을 저장하며 더 넓은 범위의 값을 저장할 수 있다.

:: long - 8byte

::: 가장 넓은 범위의 정수를 저장할 수 있는 변수이다.(그리고 int형의 범위를 넘어가는 값을 저장할때는 뒤에 'L'을 붙이는것을 잊지말자)

: 실수 타입

- 소수점이 있는 실수 데이터를 저장할수 있는 타입, 메모리 사용 크기에 따리 float, double이 있다.

- 정수와는 다른 저장 방법으로 더 큰 범위르 값을 저장할 수 있다(부동 소주점)

:: float 

"부호(1) + 지수(8) + 가수 (23) = 32bit = 4byte"

:: double

"부호(1) + 지수(11) + 가수 (52) = 64bit = 8byte"

: 논리 타입

:: 1byte로 표현되는 true/false의 논리값을 저장



3.2) 타입 변환

- 데이터를 변환해야하는 경우가 있다. 그때, 필요한 것이 타입의 변환이있는데 하나는 자동(묵시적)타입변환이고 다른 하나는 강제적(명시적) 타입 변환이 된다.

: 자동 타입 변환

:: 프로그램 실행시 자동으로 타입변환이 적용된다. 이는, 보통 작은크기의 타입이 큰 크기의 타입으로 적용된다.

:: 하지만 여기서 char형은 2byte이지만 음수가 저장될수 없으므로 더작은 크기의 타입이더라도 음수는 컴파일 에러가 발생하게 된다.

: 강제 타입 변환

:: 더 작은 크기의 타입을 큰 타입으로 바꾸는 과정으로 캐스팅 연산자()의 단위로 쪼개게 된다.

: 연산식에서의 자동 타입 변환

:: 연산과정에서 서로다른 타입이 연산이 될때 더 큰 타입으로 자동 변환 된 후 수행된다.

:: 만약, 굳이 더 작은 타입으로 얻고 싶다면, 강제 형변환후 연산을 수행한면 된다.

'Programming Language > Java' 카테고리의 다른 글

2. 자바의 변수  (0) 2018.06.27
1. Java란?  (0) 2018.06.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함