λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Develop/Java

[java] μžλ°” μ½”λ”© νƒ€μž…λ³„ 크기, 수의 λ²”μœ„

by _mingle 2022. 10. 7.
728x90

 

μžλ°” μ½”λ”© νƒ€μž…λ³„ 크기, 수의 λ²”μœ„

νƒ€μž…
크기
수의 λ²”μœ„
μ΄ˆκΈ°κ°’
byte
1 byte
-2^7 ~ 2^7 -1
0
short
2 byte
-2^15 ~ 2^15 -1
0
char
2 byte
-2^15 ~ 2^15 -1
null
int
4 byte
-2^31 ~ 2^31 -1
0
float
4 byte
-3.4 * 10^-37 ~ 3.4 * 10^37
0.0f
long
8 byte
-2^63 ~ 2^63 -1
0L
double
8 byte
-1.7 * 10^-308 ~ 1.7*10^308
0.0
boolean
1byte
true or false
false

 

bye, short, char, int, long 은 μ •μˆ˜ν˜• νƒ€μž…μ— ν•΄λ‹Ήν•˜κ³ 

float, double은 μ‹€μˆ˜ν˜• νƒ€μž…,

boolean 은 λΆ€μšΈν˜• νƒ€μž…!

 

 

μ •μˆ˜ν˜•νƒ€μž…μ€ 수의 λ²”μœ„ 곡식이
-(2^n-1) ~ (2^n )-1
둜 n에 ν•΄λ‹Ήλ˜λŠ” 값은 ν•΄λ‹Ή νƒ€μž…μ˜ bitκ°’.
/* 1 byteλŠ” 8 bit둜 μ •μˆ˜ν˜•νƒ€μž…μ΄λΌλ©΄ 8*4 = 32byteκ°€ λœλ‹€.*/

 

 

 


 

 

νƒ€μž…μ— λ”°λ₯Έ κΈ°μ΄ˆμƒμ‹

char a = 'A'+1;

/*이건 μ»΄νŒŒμΌλŸ¬κ°€ μ½”λ“œμ΅œμ ν™”λ₯Ό μœ„ν•΄ 'A'λ₯Ό μ•„μŠ€ν‚€μ½”λ“œκ°’μœΌλ‘œ μΉ˜ν™˜ 후에 계산을 ν•˜μ—¬

κ²°κ³Ό 값을 λ¬Έμžν˜•μœΌλ‘œ λ°”κΏ”μ£Όμ—ˆκΈ°λ•Œλ¬Έμ— 컴파일 였λ₯˜κ°€ λ‚˜μ§€ μ•ŠμŒ*/

 

but

char b = a +1;

이라고 μœ„μ— μ„ μ–Έ ν•œ λ³€μˆ˜ aλ₯Ό κ°€μ Έμ˜¬ 경우 μ»΄νŒŒμΌλŸ¬κ°€ μ½”λ“œμ΅œμ ν™”λ₯Ό ν•˜μ§€μ•Šμ•„μ„œ μ£Όμ˜ν•΄μ•Όν•¨.

λ³€μˆ˜λŠ” ν•­μƒμˆ˜κ°€ λ³€ν•  수 있기 λ•Œλ¬Έ

 

λ”°λΌμ„œ

λ¬Έμžν˜• λ³€μˆ˜ + μ •μˆ˜ν˜• μƒμˆ˜ 식을 써도

ν”„λ‘œλͺ¨μ…˜(μžλ™ ν˜•λ³€ν™˜)을 톡해 컴파일 였λ₯˜κ°€ λ‚˜μ§€ μ•ŠλŠ”λ‹€.

 

ν•˜μ§€λ§Œ κ·Έλž˜λ„ μ–‘μͺ½ λ³€ νƒ€μž…μ„ λ§žμΆ°μ£ΌλŠ”κ²Œ 제일 μ’‹μŒ.

 


 

*char νƒ€μž… 유의점*

charνƒ€μž…μ€ μ–‘μˆ˜λ§Œ μžˆμ–΄μ„œ μŒμˆ˜κ°€ ν¬ν•¨λ˜λŠ” νƒ€μž… (byte, short,int....λ“±) 이

λ‹€λ₯Έ νƒ€μž…μ˜ λ³€μˆ˜λ₯Ό char둜 λ³€ν™˜μ‹œν‚€λ €κ³  ν•˜λ©΄ 컴파일 μ—λŸ¬ λ°œμƒ.

 

 

*μ •μˆ˜ν˜• νƒ€μž… 유의점*

μ •μˆ˜ν˜• νƒ€μž…( byte, short, char, int ) 의 μ—°μ‚° 쀑 int νƒ€μž… μ΄ν•˜μ˜ 크기λ₯Ό 가진 νƒ€μž…μ˜ 연산을 μ§„ν–‰ν•˜λŠ” 경우

λͺ¨λ‘ μ—°μ‚° λ ˆμ§€μŠ€ν„° 크기에 λ§žμΆ”μ–΄μ„œ 연산이 진행됨.

보톡 int νƒ€μž… 맞좰짐.

 

728x90
λ°˜μ‘ν˜•

λŒ“κΈ€