์ ์ฌ์ง์ ๊ณ์๊ธฐ์ด๋ค.
๊ณ์๊ธฐ๋ ์ต๋ 9999์ ๊ฐ๊น์ง๋ง ํ๊ธฐํ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด, 9999์์ 1์ ์ถ๊ฐํ๋ฉด ์ด๋ป๊ฒ ๋๋๊ฐ?
์ต์๊ฐ์ธ 0000์ด ๋๋ค.
์ด๋ฌํ ๊ณผ์ ์ด ๋ฐ๋ก ์ค๋ฒํ๋ก์ฐ๋ผ๊ณ ํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด์ง์์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
์ด์ง์๋ 0๊ณผ 1๋ง ํํํ ์ ์๋ค.
10์ง์์ ๋ง์ฐฌ๊ฐ์ง๋ก 1111์ด ์ต๋๊ฐ์ด๋ฉฐ, 1์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ 0000์ธ ์ต์๊ฐ์ผ๋ก ๋์๊ฐ๊ฒ ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก 0000์์ 1์ ๋นผ๋ฉด ์ต๋๊ฐ์ธ 9999๊ฐ ๋๊ณ ,
2์ง์๋ 0000์์ 1์ ๋นผ๋ฉด ์ต๋๊ฐ์ธ 1111์ด ๋๋ค.
short๋ ๋ถํธ๊ฐ ์๋ ์ ์์ด๊ณ char์ ๋ถํธ๊ฐ ์๋ ์ ์์ ์ํ๋ค.
๊ทธ๋ฆฌ๊ณ short์ char์ ๋ ๋ค 2byte(16bit)์ ํด๋นํ๋ค.
2byte๋ 65536๊น์ง์ ์๋ฅผ ํํํ ์ ์๋ค.
ํ์ง๋ง, short๋ ๋ถํธ๊ฐ ์๋ ์ ์์ด๊ธฐ ๋๋ฌธ์, -๋ ํฌํจ์ ์์ผ์ผ ํ๋ค.
๊ทธ๋ ๊ธฐ์ -32768~32767๊น์ง๋ฅผ ํํํ ์ ์๋ค.
char์ ๋ถํธ๊ฐ ์๋ ์ ์์ด๊ธฐ ๋๋ฌธ์
0 ~ 65535๊น์ง์ ์๋ฅผ ํํํ ์ ์๋ค.
short sMin = -32768, sMax = 32767;
char cMin = 0, cMax = 65535;
System.out.println("sMin = " + sMin);
→ sMin = -32768
System.out.println("sMin-1= " + (short)(sMin-1));
→ sMin-1= 32767
System.out.println("sMax = " + sMax);
→ sMax = 32767
System.out.println("sMax+1= " + (short)(sMax+1));
→ sMax+1= -32768
System.out.println("cMin = " + (int)cMin);
→ cMin = 0
System.out.println("cMin-1= " + (int)--cMin);
→ cMin-1= 65535
System.out.println("cMax = " + (int)cMax);
→ cMax = 65535
System.out.println("cMax+1= " + (int)++cMax);
→ cMax+1= 0
์ ์์ ๋ฅผ ํ์ธํด๋ณด๋ฉด ์กฐ๊ธ ๋ ์ดํดํ๊ธฐ ์ฝ๋ค.
ํํํ ์ ์๋ ๊ฐ์ด ๋ค๋ฅธ ๊ฑฐ์ง , ํํํ๋ ๋ฒ์๋ ๊ฐ๋ค.
'๐จ๏ธ Backend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java]์กฐ๊ฑด๋ฌธ(if,switch)๊ณผ ๋ฐ๋ณต๋ฌธ(for,while) (0) | 2022.08.23 |
---|---|
[Java]์ฐ์ฐ์(Operator) (0) | 2022.08.22 |
[Java]ํ๋ฉด์์ ์ ๋ ฅ๋ฐ๊ธฐ Scanner (0) | 2022.08.20 |
[Java]printf()๋ฅผ ์ด์ฉํ ์ถ๋ ฅ (0) | 2022.08.20 |
[Java]์์(constant)์ ๋ฆฌํฐ๋ด(literal) (0) | 2022.08.20 |