Chapter 05 - ๋ฐฐ์ด
1. ๋ฐฐ์ด(array)
1.1 ๋ฐฐ์ด(array)์ด๋?
- ๊ฐ์ ํ์ ์ ์ฌ๋ฌ ๋ณ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ค๋ฃจ๋ ๊ฒ
- ๋ณ์ ๋์ ๋ฐฐ์ด์ ์ด์ฉํ๋ฉด ๊ฐ๋จํ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์ผ์ด ๋ง์
- ๋ฐฐ์ด์ ํ ๋นํ ๋ณ์๋ ๋ฐฐ์ด์ ๋ค๋ฃจ๋ ๋ฐ ํ์ํ ์ฐธ์กฐ๋ณ์
1.2 ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ
- ํ์ [] ๋ณ์์ด๋ฆ;
- ํ์ ๋ณ์์ด๋ฆ[];
๋ฐฐ์ด์ ์์ฑ
- new ํ์
[๊ธธ์ด];
- ๊ธธ์ด์ ๋ง์ถ ํ์ ์ ๋ฐฐ์ด์ด ์์ฑ
1.3 ๋ฐฐ์ด์ ๊ธธ์ด์ ์ธ๋ฑ์ค
- ์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ์์๋ง๋ค ๋ถ์ฌ์ง ์ผ๋ จ๋ฒํธ
- ์ธ๋ฑ์ค์ ๋ฒ์๋ 0๋ถํฐ '๋ฐฐ์ด ๊ธธ์ด -1๊น์ง'
- ex) score[3]; -> score ๋ฐฐ์ด์ 4๋ฒ์งธ ์์
- index๋ก ์์ ๋์ ๋ณ์๋ ์์๋ ์ฌ์ฉ ๊ฐ๋ฅ(for๋ฌธ ๋ฑ๋ฑ...)
- index๋ฅผ ๋ฒ์ด๋ ๋ฒ์์ ๊ฐ์ index๋ก ๋ค๋ฃจ์ง ๋ง ๊ฒ
- ์ปดํ์ผ์ ๋ง์ณค๋๋ผ๋ ArrayIndexOutOfBoundsException ๋ฐ์
๋ฐฐ์ด์ ๊ธธ์ด
- ๋ฐฐ์ด์ ๊ธธ์ด๋ int ๋ฒ์์ ์์ ์ ์
- ๊ธธ์ด๊ฐ 0์ธ ๋ฐฐ์ด๋ ์์ฑ ๊ฐ๋ฅ
๋ฐฐ์ด์ด๋ฆ.length
- JVM์ด ๋ชจ๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ณ๋๋ก ๊ด๋ฆฌ
- ๋ฐฐ์ด์ด๋ฆ.length
- ๋ฐฐ์ด์ ํ๋ฒ ์์ฑํ๋ฉด ๊ธธ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์์ -> length๋ ์์
- for๋ฌธ ๋ฑ์์ ํ์ฉํ ๋ ๊ธธ์ด๋ฅผ ์ง์ ์ ๋ ๊ฒ๋ณด๋ค length๋ฅผ ์ฌ์ฉํ ๊ฒ
๋ฐฐ์ด์ ๊ธธ์ด ๋ณ๊ฒฝํ๊ธฐ
- ๋ ํฐ ๋ฐฐ์ด์ ์๋ก ์์ฑ
- ๊ธฐ์กด ๋ฐฐ์ด์ ๋ด์ฉ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ณต์ฌ
1.4 ๋ฐฐ์ด์ ์ด๊ธฐํ
- ์ํ๋ ๊ฐ์ ๊ฐ ์์๋ง๋ค ๊ฐ์ ์ง์ ํด ์ค์ผ ํจ
- for๋ฌธ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๊ฐ๋ฅ
- ๋ฐฐ์ด์ ๊ฐ๋จํ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ๋ ์ง์
- ex) int[] score = new int[]{50, 60, 70, 80, 90};
- ๊ดํธ{} ์์ ๊ฐ์ ๊ฐ์์ ์ํด ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ์๋์ผ๋ก ๊ฒฐ์ ([] ์์ ๊ธธ์ด๋ฅผ ๋ช ์ํ ํ์ X)
- ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ์ ๊ฐ์ด ํ๋ ๊ฒฝ์ฐ์๋
new ํ์ []
์๋ต ๊ฐ๋ฅ - ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ์ ๋ฐ๋ก ํ๋ ๊ฒฝ์ฐ์๋
new ํ์ []
์๋ต ๋ถ๊ฐ - ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ก int ๋ฐฐ์ด์ ์์ฑ ์์๋
new ํ์
์ ์๋ต ๋ถ๊ฐ {}
๋ก๋ง ์ ์ธ ์ ๊ธธ์ด๊ฐ 0์ธ ๋ฐฐ์ด
๋ฐฐ์ด์ ์ถ๋ ฅ
- index๋ฅผ ํ์ฉํ for๋ฌธ์ผ๋ก ์ถ๋ ฅ ๊ฐ๋ฅ
Arrays.toString(๋ฐฐ์ด์ด๋ฆ)
๋ฉ์๋๋ก ์ถ๋ ฅ ๊ฐ๋ฅ- [์ฒซ ๋ฒ์งธ ์์, ๋ ๋ฒ์งธ ์์, ...]์ ํ์
- ์ฐธ์กฐ๋ณ์ ์ถ๋ ฅ ์
ํ์ @์ฃผ์
์ถ๋ ฅ - ์์ธ์ ์ผ๋ก char ๋ฐฐ์ด์ println์ผ๋ก ์ถ๋ ฅํ๋ฉด ๊ฐ ์์๊ฐ ๊ตฌ๋ถ์ ์์ด ๊ทธ๋๋ก ์ถ๋ ฅ
1.5 ๋ฐฐ์ด์ ๋ณต์ฌ
- ๊ธฐ์กด ๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค ํฐ ๋ฐฐ์ด์ ์์ฑ ํ ๋ณต์ฌ๋ ๋น์ฉ์ด ๋ง์ด ๋ค๊ธฐ ๋๋ฌธ์ ์ฒ์๋ถํฐ ๋๋ํ๊ฒ ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ์ก์ ๊ฒ
System.arraycopy()๋ฅผ ์ด์ฉํ ๋ฐฐ์ด์ ๋ณต์ฌ
- for๋ฌธ ๋ณด๋ค System.arraycopy()๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ํจ์จ์
- ๊ฐ ์์๋ค์ด ์ฐ์์ ์ผ๋ก ์ ์ฅ๋์ด ์๋ ๋ฐฐ์ด์ ํน์ฑ์ ์ฌ์ฉํด ํต์งธ๋ก ๋ณต์ฌ
- System.arraycopy(num, 0, newNum, 0, num.length) -> num[0]์์ newNum[0]์ผ๋ก num.length๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌ
- ๋ณต์ฌํ๋ ค๋ ๋ด์ฉ๋ณด๋ค ์ฌ์ ๊ณต๊ฐ์ด ์ ์ผ๋ฉด ArrayIndexOutOfBoundsException
2. String ๋ฐฐ์ด
2.1 String ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ
- int ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์์ฑ ๋ฐฉ๋ฒ์ด ๋ค๋ฅด์ง ์์
- ex) String[] name = new String[3];
- 3๊ฐ์ ๋ฌธ์์ด์ ๋ด์ ์ ์๋ ๋ฐฐ์ด์ ์์ฑ
- ๊ฐ ์์์ ๊ฐ์ null๋ก ์ด๊ธฐํ (๊ธฐ๋ณธ๊ฐ์ด null์ด๋ฏ๋ก)
2.2 String ๋ฐฐ์ด์ ์ด๊ธฐํ
- ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ฌธ์์ด์ ์ง์
- ๋๋ ๊ดํธ๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋จํ ์ด๊ธฐํ
- ๋ฐฐ์ด์ ์ค์ ๊ฐ์ฒด๊ฐ ์๋ ๊ฐ์ฒด์ ์ฃผ์๊ฐ ์ ์ฅ๋จ
- ๊ธฐ๋ณธํ ๋ฐฐ์ด์ด ์๋ ์ฐธ์กฐํ ๋ฐฐ์ด์ด๋ฏ๋ก (์ฐธ์กฐํ ๋ฐฐ์ด์ ๊ฐ์ฒด ๋ฐฐ์ด์ด๋ผ๊ณ ๋ ๋ถ๋ฆ)
2.3 char ๋ฐฐ์ด๊ณผ String ํด๋์ค
- ๋ฌธ์์ด์ '๋ฌธ์๋ฅผ ์ฐ์ด์ด ๋์ด๋์ ๊ฒ'์ ์๋ฏธ
- String ํด๋์ค๋ char ๋ฐฐ์ด์ ๊ธฐ๋ฅ(๋ฉ์๋)๋ฅผ ์ถ๊ฐํ ๊ฒ
- ๊ธฐ๋ฅ์ ํจ์๋ฅผ ์๋ฏธํ๋ ๊ฒ
- String ๊ฐ์ฒด๋ ์ฝ์ ์๋ง ์์ ๋ฟ ๋ด์ฉ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ
String ํด๋์ค์ ์ฃผ์ ๋ฉ์๋
- charAt(int index) : ๋ฌธ์์ด์์ ํด๋น ์์น์ ์๋ ๋ฌธ์ ๋ฐํ
- int length() : ๋ฌธ์์ด์ ๊ธธ์ด ๋ฐํ
- String substring(int from, int to) : ํด๋น ๋ฒ์์ ์๋ ๋ฌธ์์ด์ ๋ฐํ (to๋ ๋ฒ์์ ํฌํจ X)
- subString์ด ์๋ substring ์์ ์ฃผ์
- boolean equals(Object obj) : ๋ฌธ์์ด์ ๋ด์ฉ์ด obj์ ๊ฐ์์ง return
- char[] toCharArray() : ๋ฌธ์์ด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํํด์ ๋ฐํ
char ๋ฐฐ์ด๊ณผ String ํด๋์ค์ ๋ณํ
- char ๋ฐฐ์ด์ charArr์ด๋ผ๊ณ ํ ๋
new String(charArr)
๋ก Sring์ผ๋ก ๋ณํ - ๋ฌธ์์ด str์ด ์์ ๋
str.toCharArray()
๋ก char ๋ฐฐ์ด๋ก ๋ณํ - println()๋ก ๋ฌธ์ ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ฉด ๋ฌธ์ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ด์ด์ ํ ์ค๋ก ์ถ๋ ฅ
2.4 ์ปค๋งจ๋ ๋ผ์ธ์ ํตํด ์ ๋ ฅ๋ฐ๊ธฐ
- ํ๋ก๊ทธ๋จ ์คํ ์ ํด๋์ค ์ด๋ฆ ๋ค์ ๊ณต๋ฐฑ๋ฌธ์๋ก ๊ตฌ๋ถํ์ฌ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์์ด ์ ๋ฌ ๊ฐ๋ฅ
- main ๋ฉ์๋ ๋ด์์ args[0], args[1]๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
- ๋งค๊ฐ๋ณ์์ ๊ณต๋ฐฑ์ด ์์ ์ ํฐ๋ฐ์ดํ๋ก ๊ฐ์ธ์ฃผ์ด์ผ ํจ
- ์ซ์๋ฅผ ์
๋ ฅํด๋ ๋ฌธ์์ด๋ก ์ฒ๋ฆฌ
- int num = Integer.parseInt("123")๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ซ์๋ก ํ์ฑ
- ์ปค๋งจ๋ ๋ผ์ธ์ ๋งค๊ฐ๋ณ์๊ฐ ์์ ์ ํฌ๊ธฐ๊ฐ 0์ธ ๋ฐฐ์ด์ด ์์ฑ
- args.length์ ๊ฐ์ 0
- args์ ๊ฐ์ด null์ผ ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํจ
3. ๋ค์ฐจ์ ๋ฐฐ์ด
3.1 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ธ๊ณผ ์ธ๋ฑ์ค
- 1์ฐจ์ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋ฐฉ์์์ ๊ดํธ๊ฐ ํ๋ ๋ ๋ค์ด๊ฐ
- ex) 4ํ 3์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ธฐ ์ํ ๋ฐฐ์ด -> int[][] score = new int[4][3];
- 12๊ฐ์ int ๊ฐ์ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ด ์์ฑ
- int์ ๊ธฐ๋ณธ๊ฐ์ธ 0์ด ์ ์ฅ
2์ฐจ์ ๋ฐฐ์ด์ index
- ํ index์ ๋ฒ์ : 0 ~ ํ์ ๊ธธ์ด -1
- ์ด index์ ๋ฒ์ : 0 ~ ์ด์ ๊ธธ์ด -1
- ๋ฐฐ์ด์ด๋ฆ[ํ index][์ด index]๋ก ์ ๊ทผ
3.2 2์ฐจ์ ๋ฐฐ์ด์ ์ด๊ธฐํ
- ๊ดํธ{}๋ฅผ ์ฌ์ฉํด์ ์์ฑ๊ณผ ์ด๊ธฐํ ๋์์ ๊ฐ๋ฅ
- 1์ฐจ์ ๋ฐฐ์ด๋ณด๋ค ๊ดํธ๋ฅผ ํ ๋ฒ ๋ ์จ์ ํ๋ณ๋ก ๊ตฌ๋ถ
- 2์ฐจ์ ๋ฐฐ์ด์ ๋ฐฐ์ด์ ๋ฐฐ์ด๋ก ๊ตฌ์ฑ๋์ด ์์
- ์ฌ๋ฌ ๊ฐ์ 1์ฐจ์ ๋ฐฐ์ด์ ๋ฌถ์ด์ ๋ ํ๋์ ๋ฐฐ์ด๋ก ๋ง๋ ๊ฒ
- ๋ฐฐ์ด์ด๋ฆ.length๋ ํ์ ๊ธธ์ด
- ๋ฐฐ์ด์ด๋ฆ[ํ index].length๋ ์ด์ ๊ธธ์ด
3.3 ๊ฐ๋ณ ๋ฐฐ์ด
- 2์ฐจ์ ์ด์์ ๋ค์ฐจ์ ๋ฐฐ์ด ์์ฑ ์ ๊ฐ์ฅ ๋ง์ง๋ง ์ฐจ์์ ๊ธธ์ด๋ฅผ ์ ๋์ ์ผ๋ก ๋ ๊ฐ๋ณ ๋ฐฐ์ด ๊ตฌ์ฑ ๊ฐ๋ฅ
- ๋ง์ง๋ง ์ฐจ์๋ฅผ ๊ณต๋์ผ๋ก ๋๊ณ ์์ฑ
- 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ๋ณ ๋ฐฐ์ด๋ก ์์ฑ ์ ํ๋ง๋ค ๋ค๋ฅธ ๊ธธ์ด์ ๋ฐฐ์ด์ ์์ฑ
- ๊ฐ๋ณ ๋ฐฐ์ด ์ญ์ ์ค๊ดํธ๋ฅผ ์ฌ์ฉํด ์์ฑ ๊ฐ๋ฅ
'Java > Java์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Chapter 07 - ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ 2 (0) | 2022.04.22 |
---|---|
Chapter 06 - ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ 1 (0) | 2022.04.20 |
Chapter 04 - ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ (0) | 2022.04.15 |
Chapter 03 - ์ฐ์ฐ์ (0) | 2022.04.10 |
Chapter 02 - ๋ณ์ (0) | 2022.03.21 |