2022. 4. 8. 23:09ใJAVA/์๋ฐ์ ์ ์
1๏ธโฃ ๋ฐฐ์ด Array
๊ฐ์ ํ์ ์ ์ฌ๋ฌ ๋ณ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ค๋ฃจ๋ ๊ฒ์ ๋ฐฐ์ด์ด๋ผ๊ณ ํ๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ '๊ฐ์ ํ์ ' ์ด์ด์ผํ๋ค๋ ๊ฒ์ด๋ค!! ์๋ก ๋ค๋ฅธ ํ์ ์ ๋ณ์๋ค๋ก ๊ตฌ์ฑ๋ ๋ฐฐ์ด์ ๋ง๋ค ์ ์๋ค.
int[] num = {1, 2, 3, 4, 5};
2๏ธโฃ ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ
๋ฐฐ์ด ์ ์ธ ๋ฐฉ๋ฒ์ ์ํ๋ ํ์ ์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ , ๋ณ์ ๋๋ ํ์ ์ ๋ฐฐ์ด์์ ์๋ฏธํ๋ ๋๊ดํธ[]๋ฅผ ๋ถ์ด๋ฉด ๋๋ค.
ํ์ [] ๋ณ์์ด๋ฆ;
๋ฐฐ์ด์ ์์ฑ
: ๋ฐฐ์ด์ ์ ์ธํ๋ ๊ฒ์ ๋จ์ง ์์ฑ๋ ๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ ์ฐธ์กฐ๋ณ์๋ฅผ ์ํ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง ๋ฟ์ด๊ณ , ๋ฐฐ์ด์ ์์ฑํด์ผ๋ง ๋น๋ก์ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ง๋ ๊ฒ์ด๋ค. ๋ฐฐ์ด์ ์์ฑํ๊ธฐ ์ํด์๋ ์ฐ์ฐ์ new ์ ํจ๊ป ๋ฐฐ์ด์ ํ์ ๊ณผ ๊ธธ์ด๋ฅผ ์ง์ ํด์ค์ผ ํ๋ค.
ํ์ [] ๋ณ์์ด๋ฆ = new ํ์ [๊ธธ์ด];
3๏ธโฃ ๋ฐฐ์ด์ ๊ธธ์ด์ ์ธ๋ฑ์ค
์์ฑ๋ ๋ฐฐ์ด์ ๊ฐ ์ ์ฅ๊ณต๊ฐ์ ๋ฐฐ์ด์ ์์๋ผ๊ณ ํ๋ฉฐ, ๋ฐฐ์ด์ด๋ฆ[์ธ๋ฑ์ค]์ ํ์์ผ๋ก ๋ฐฐ์ด์ ์์์ ์ ๊ทผํ๋ค.
์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ์์๋ง๋ค ๋ถ์ฌ์ง ์ผ๋ จ๋ฒํธ๋ก ๊ฐ ์์๋ฅผ ๊ตฌ๋ณํ๋๋ฐ ์ฌ์ฉํ๋ค.
์ธ๋ฑ์ค์ ๋ฒ์๋ 0๋ถํฐ ๋ฐฐ์ด๊ธธ์ด -1 ๊น์ง
๋ฐฐ์ด์ ๋ค๋ฃฐ ๋ ํ๊ฐ์ง ์ฃผ์ํด์ผํ ์ ์ index์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฐ์ index๋ก ์ฌ์ฉํ์ง ์์์ผ ํ๋ค๋ ์ ์ด๋ค.
์ ํจํ ๋ฒ์์ ๊ฐ์ index๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์ ์ ์ผ๋ก ํ๋ก๊ทธ๋๋จธ ์ฑ ์์ด๊ณ , ์ ํจํ์ง ์์ ๊ฐ์ index๋ก ์ฌ์ฉํ๋ฉด, ๋ฌด์ฌํ ์ปดํ์ผ์ ๋ง์ณค๋๋ผ๋ ์คํ ์์ ์๋ฌ ArrayIndexOutOfBoundsException์ด ๋ฐ์ํ๋ค.
๋ฐฐ์ด์ ๊ฐ์
๋ฐฐ์ด์ ์์ฑํ ๋ ๊ดํธ[] ์์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์ ์ด์ค์ผ ํ๋๋ฐ ๋ฐฐ์ด์ ๊ธธ์ด๋ ๋ฐฐ์ด์ ์์์ ๊ฐ์, ์ฆ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ ๊ฐ์์ด๋ค.
๋ฐฐ์ด์ ๊ธธ์ด๋ int๋ฒ์์ ์์ ์ ์(0๋ ํฌํจ)์ด์ด์ผํ๋ค.
๋ฐฐ์ด์ด๋ฆ.length;
-> ์๋ฐ์์๋ JVM์ด ๋ชจ๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ณ๋๋ก ๊ด๋ฆฌํ๋ค.
๋ฐฐ์ด์ ๊ธธ์ด๋ ํ๋ฒ ์์ฑํ๋ฉด ๊ธธ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ฏธ ์์ฑ๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ ๋ณํ์ง ์๋๋ค.
For๋ฌธ์์๋ ์กฐ๊ฑด์์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์ง์ ์ ์ด์ฃผ๋ ๊ฒ๋ณด๋ค '๋ฐฐ์ด์ด๋ฆ.length'๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด์๋ ๋ ํฐ ๊ธธ์ด์ ๋ฐฐ์ด์ ์๋กญ๊ฒ ์์ฑํ๊ณ , ๊ธฐ์กด์ ๋ฐฐ์ด์ ์ ์ฅ๋ ๊ฐ๋ค์ ์๋ก์ด ๋ฐฐ์ด์ ๋ณต์ฌํ๋ฉด ๋๋ค.
4๏ธโฃ ๋ฐฐ์ด์ ์ด๊ธฐํ
: ๋ฐฐ์ด์ ์์ฑ๊ณผ ๋์์ ์๋์ ์ผ๋ก ์์ ์ ํ์ ์ ํด๋นํ๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํ๋๋ฏ๋ก ๋ฐฐ์ด์ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ฐ๋ก ์ด๊ธฐํํด์ฃผ์ง ์์๋ ๋์ง๋ง, ์ํ๋ ๊ฐ์ ์ ์ฅํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ๊ฐ ์์๋ง๋ค ๊ฐ์ ์ง์ ํด ์ค์ผํ๋ค.
int[] num = new int[] {50, 60, 70, 80};
int[] num = {50, 60, 70, 80}; -> new int[] ์๋ต ๊ฐ๋ฅ
5๏ธโฃ ๋ฐฐ์ด์ ์ถ๋ ฅ
Arrays.toString(๋ฐฐ์ด์ด๋ฆ)
int[] iArr = {100, 95, 90, 80, 60};
System.out.println(iArr); -> [I@45645bb ์ ๊ฐ์ ํ์์ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋๋ค.
-> iArr์ ์ฐธ์กฐ๋ณ์๋๊น ๋ณ์์ ์ ์ฅ๋ ๊ฐ, ์ฆ ๋ฐฐ์ด์ ์ฃผ์๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ด๋ค. (ํ์ @์ฃผ์)
6๏ธโฃ ๋ฐฐ์ด์ ๋ณต์ฌ
๋ฐฐ์ด์ ํ๋ฒ ์์ฑํ๋ฉด ๊ทธ ๊ธธ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ์ ์ฅ๊ณต๊ฐ์ด ํ์ํ๋ค๋ฉด ๋ณด๋ค ํฐ ๋ฐฐ์ด์ ์๋ก ๋ง๋ค๊ณ ์ด์ ๋ฐฐ์ด๋ก๋ถํฐ ๋ด์ฉ์ ๋ณต์ฌํด์ผํ๋ค.
System.arraycopy()
-> For๋ฌธ ๋์ ์ System ํด๋์ค์ arraycopy()๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณด๋ค ๊ฐ๋จํ๊ณ ๋น ๋ฅด๊ฒ ๋ฐฐ์ด์ ๋ณต์ฌํ ์ ์๋ค.
for๋ฌธ์ ๋ฐฐ์ด์ ์์๋ฅผ ํ๋ํ๋์ ์ ๊ทผํด์ ๋ณต์ฌํ์ง๋ง, arraycopy()๋ ์ง์ ๋ ๋ฒ์์ ๊ฐ๋ค์ ํ๋ฒ์ ํต์งธ๋ก ๋ณต์ฌํ๋ค.
7๏ธโฃ ๋ฐฐ์ด์ ํ์ฉ
-> numArr[0]๊ณผ numArr[n]์ ๊ฐ์ ์๋ก ๋ฐ๊พผ๋ค.
-> 1๋ถํฐ 45๊น์ง์ ๋ฒํธ๊ฐ ์ฐ์ธ ์นด๋๋ฅผ ์ ์์ ๋ค์ 6์ฅ ๊บผ๋ด๋ ๊ฒ๊ณผ ๊ฐ๋ค.
๋ฒ๋ธ ์ ๋ ฌ
-> ๋น๊ต ํ์๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค 1 ์์ ๊ฐ์ด๋ค.
-> ๋ณด๋ค ํจ์จ์ ์ธ ์์ ์ ์ํด changed๋ผ๋ booleanํ ๋ณ์๋ฅผ ๋์ด์ ์๋ฆฌ๋ฐ๊ฟ์ด ์์ผ๋ฉด break๋ฌธ์ ์ํํ์ฌ ์ ๋ ฌ์ ๋ง์น๋๋ก ํ๋ค.
'JAVA > ์๋ฐ์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] 11. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ2. return๋ฌธ, JVM ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ (0) | 2022.04.15 |
---|---|
[JAVA] 9. String ๋ฐฐ์ด, ๋ค์ฐจ์ ๋ฐฐ์ด (0) | 2022.04.11 |
[JAVA] 7. ๋ฐ๋ณต๋ฌธ (0) | 2022.04.06 |
[JAVA] 6. ์กฐ๊ฑด๋ฌธ (0) | 2022.04.05 |
[JAVA] 4. ์ฐ์ฐ์operator (0) | 2022.04.04 |