2. ๋ฐฐ์ด์ ์์ฑ๊ณผ ์ ์ธ
- ๋ฐฐ์ด์ ์ ์ธ - ๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ ์ฐธ์กฐ๋ณ์์ ์ ์ธ
ํ์
[] ๋ณ์์ด๋ฆ; // ๋ฐฐ์ด์ ์ ์ธ(๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ ์ฐธ์กฐ๋ณ์ ์ ์ธ)
๋ณ์์ด๋ฆ = new ํ์
[๊ธธ์ด]; // ๋ฐฐ์ด์ ์์ฑ(์ค์ ์ ์ฅ๊ณต๊ฐ์ ์์ฑ)
int[] score; // intํ์
์ ๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ ์ฐธ์กฐ๋ณ์ score์ ์ธ
score = new int[5]; // intํ์
์ ๊ฐ 5๊ฐ๋ฅผ ์ ์ฅํ ์ ์๋ ๋ฐฐ์ด ์์ฑ
4~5. ๋ฐฐ์ด์ ๊ธธ์ด, ๋ฐฐ์ด์ ์ด๊ธฐํ
4. ๋ฐฐ์ด์ ๊ธธ์ด
๋ฐฐ์ด์ด๋ฆ.length
- ๋ฐฐ์ด์ ๊ธธ์ด(intํ ์์)
int[] arr = new int[5]; // ๊ธธ์ด๊ฐ 5์ธ int๋ฐฐ์ด
int tmp = arr.length; // arr.length์ ๊ฐ์ 5
-
โ๋ฐฐ์ด์ ํ๋ฒ ์์ฑํ๋ฉด ์คํ ๋์ ๊ทธ ๊ธธ์ด๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.โ
-
์? - ํ ๋น๋ ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐ์ฅํ ์ ์๋ค๋ ๋ณด์ฅ X
-
๋ถ์กฑํ ๊ฒฝ์ฐ - ๋ ํฐ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ก ์ฐพ์์ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌ ํ ์ถ๊ฐ
5. ๋ฐฐ์ด์ ์ด๊ธฐํ
- ๋ฐฐ์ด์ ๊ฐ ์์์ ์ฒ์์ผ๋ก ๊ฐ์ ์ ์ฅํ๋ ๊ฒ
int[] score = new int[5]; // ๊ธธ์ด๊ฐ 5์ธ intํ ๋ฐฐ์ด์ ์์ฑ
score[0] = 50; // ๊ฐ ์์์ ์ง์ ๊ฐ์ ์ ์ฅ
score[1] = 60;
score[2] = 70;
score[3] = 80;
score[4] = 90;
// ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ
int[] score = new int[]{50, 60, 70, 80, 90};
int[] score = {50, 60, 70, 80, 90}; // new int[]๋ฅผ ์๋ตํ ์ ์์
int[] score;
score = {50, 60, 70, 80, 90}; // ์๋ฌ. new int[]๋ฅผ ์๋ตํ ์ ์์
score = new int[]{50, 60, 70, 80, 90}; // OK.
6~7. ๋ฐฐ์ด์ ์ถ๋ ฅ
int[] iArr = {100, 95, 80, 70, 60}
// ๋ฐฐ์ด์ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๋ณ์ iArr์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
System.out.println(iArr); // [I@14318bb์ ๊ฐ์ ํ์์ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋จ
// ์์ธ์ ์ผ๋ก character ๋ฐฐ์ด์ ๊ฒฝ์ฐ
char[] chArr = {'a', 'b', 'c', 'd'};
System.out.println(chArr); // abcd๊ฐ ์ถ๋ ฅ๋จ
// ๋ฐฐ์ด iArr์ ๋ชจ๋ ์์๋ฅผ ์ถ๋ ฅ
System.out.println(Arrays.toString(iArr)); // [100, 95, 80, 70, 60]๊ฐ ์ถ๋ ฅ๋จ
14~15. String ํด๋์ค
14. String ํด๋์ค
-
- String ํด๋์ค๋
char[]
์ ๋ฉ์๋(๊ธฐ๋ฅ)๋ฅผ ๊ฒฐํฉํ ๊ฒ
- String ํด๋์ค๋
-
- String ํด๋์ค๋ ๋ด์ฉ์ ๋ณ๊ฒฝํ ์ ์๋ค. (read only)
String a = "a";
String b = "b";
a = a + b // a ๋ณ์์ "a"๊ฐ "ab"๋ก ๋ฐ๋๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด ๋ฌธ์์ด "ab"๋ฅผ ์๋ก ์ฐธ์กฐ
15. String ํด๋์ค์ ์ฃผ์ ๋ฉ์๋
๋ฉ์๋ | ์ค๋ช |
---|---|
char charAt(int index) | ๋ฌธ์์ด์์ ํด๋น ์์น(index )์ ์๋ ๋ฌธ์๋ฅผ ๋ฐํ |
int length() | ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํ |
String substring(int from, int to) | ๋ฌธ์์ด์์ ํด๋น ๋ฒ์(from~to )์ ๋ฌธ์์ด์ ๋ฐํ |
boolean equals(Object obj) | ๋ฌธ์์ด์ ๋ด์ฉ์ด ๊ฐ์์ง ํ์ธ |
char[] toCharArray() | ๋ฌธ์์ด์ ๋ฌธ์๋ฐฐ์ด(char[] )๋ก ๋ณํํด์ ๋ฐํผ |
String str = "ABCDE";
char ch = str.charAt(3); // ๋ฌธ์์ด str์ 4๋ฒ์งธ ๋ฌธ์ 'D'๋ฅผ ch์ ์ ์ฅ
String str = "012345";
String tmp = str.substring(1, 4); // str์์ index๋ฒ์ 1~4์ ๋ฌธ์๋ค์ ๋ฐํ
System.out.println(tmp); // "123" ์ถ๋ ฅ
18~20. 2์ฐจ์ ๋ฐฐ์ด
18. 2์ฐจ์ ๋ฐฐ์ด
- ํ ์ด๋ธ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฐฐ์ด
int[][] score = new int[4][3]; // 4ํ 3์ด์ 2์ฐจ์ ๋ฐฐ์ด์ ์์ฑ
20. 2์ฐจ์ ๋ฐฐ์ด์ ์ด๊ธฐํ
int[][] score = new int[][]{ {1, 2, 3}, {4, 5, 6} };
int[][] score = { {1, 2, 3}, {4, 5, 6} }; // new int[][] ์๋ต
// ์ง๊ด์ ์ผ๋ก ์ด๊ธฐํ
int[][] score = new int[][]{
{1, 2, 3},
{4, 5, 6}
};
24. Arrays๋ก ๋ฐฐ์ด ๋ค๋ฃจ๊ธฐ
๋ฐฐ์ด์ ๋น๊ต์ ์ถ๋ ฅ - equals(), toString()
int[] arr = {0, 1, 2, 3, 4};
int[][] arr2D = {{11, 12}, {21, 22}};
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4]
System.out.println(Arrays.deepToString(arr2D)); // [[11, 12], [21, 22]]
String[][] str2D = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
String[][] str2D2 = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
System.out.println(Arrays.equals(str2D, str2D2)); // false (1์ฐจ์๋ฐฐ์ด ๋น๊ต ๊ฐ๋ฅ)
System.out.println(Arrays.deepEquals(str2D, str2D2)); // true (๋ค์ฐจ์๋ฐฐ์ด ๋น๊ต ๊ฐ๋ฅ)
๋ฐฐ์ด์ ๋ณต์ฌ - copyOf(), copyOfRange()
int[] arr = {0, 1, 2, 3, 4};
int[][] arr2 = Arrays.copyOf(arr, arr.length); // arr2 = [0,1,2,3,4]
int[][] arr3 = Arrays.copyOf(arr, 3); // arr3 = [0,1,2]
int[][] arr4 = Arrays.copyOf(arr, 7); // arr4 = [0,1,2,3,4,0,0]
int[][] arr5 = Arrays.copyOfRange(arr, 2, 4); // arr5 = [2,3]
int[][] arr6 = Arrays.copyOfRange(arr, 0, 7); // arr6 = [0,1,2,3,4,0,0]
๋ฐฐ์ด์ ์ ๋ ฌ - sort()
int[] arr = {3, 2, 0, 1, 4};
Arrays.sort(arr); // ๋ฐฐ์ด arr๋ฅผ ์ ๋ ฌ
System.out.println(Arrays.toString(arr)); // [0,1,2,3,4]