Array
๋ฐฐ์ด
ํน์ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ฌถ์์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ํด ์ฌ์ฉ
์ง์ ๋ ์๋ฃํ๊ณผ ๊ฐ์๋งํผ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋๋ํ ํ๋ณด
โ ๏ธ ๊ฐ์์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํจ
๋
๊ฐ
๊ฑธ
์ท
๋ชจ
0
1
2
3
4
package sec03.chap08;
public class Ex01 {
public static void main(String[] args) {
// ๐ก ์ฌ์ฉํ ์๋ฃํ ๋ค์ []๋ฅผ ๋ถ์ฌ ์ ์ธ
char[] yutnori = {'๋', '๊ฐ', '๊ฑธ', '์ท', '๋ชจ'};
//char[] yutnori = new char[];
// ๐ก length : ๋ฐฐ์ด์ ๊ธธ์ด ๋ฐํ
int length = yutnori.length;
// ๐ก [] ์์ ์ธ๋ฑ์ค ์ ์๋ฅผ ๋ฃ์ด ์ ๊ทผ
// โญ 0๋ถํฐ ์์
char first = yutnori[0];
char last = yutnori[yutnori.length - 1];
}
}
// ๐ก ์ด๊ธฐํํ์ง ์๊ณ ์ผ๋จ ์ ์ธํ๊ธฐ
// โญ ์ด๋ค ๊ฐ์ผ๋ก ์ด๊ธฐํ๋๋์ง ํ์ธ
boolean[] boolAry = new boolean[3];
int[] intAry = new int[3];
double[] dblAry = new double[3];
char[] chrAry = new char[3]; // ์๋ ํ์ธ
String[] strAry = new String[3];
// ์์คํค ์ฝ๋์ 0๋ฒ ๊ธ์. ๋ฌธ์์ด์ ๋์ ํ์ํ๋๋ฐ ์ฌ์ฉ
char NUL = chrAry[0];
// ๋ค์๊ณผ ๊ฐ์ด ์ํ๋ ์์น์ ๊ฐ ๋ณ๊ฒฝ
intAry[0] = 123;
intAry[1] = 456;
intAry[2] = 789;
์์์๋ฃํ์ ๋ฐฐ์ด์ ๊ทธ ๊ฐ์ด ์ง์ ๋ด๊ธฐ๊ณ ,
์ฐธ์กฐ์๋ฃํ์ ๋ฐฐ์ด์ ๊ทธ๊ฒ์ด ์ ์ฅ๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
๋ฐฐ์ด ์ด๊ธฐํ
package sec03.chap08;
public class Ex02 {
public static void main(String[] args) {
// ์ด๊ธฐํ ๋ธ๋ก์ ์ฌ์ฉํ ์ ์ธ ๋์ ์ด๊ธฐํ
// ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ์ฌ์ฉ ๊ฐ๋ฅ
char[] dirAry1 = {'๋', '์', '๋จ', '๋ถ'};
char[] dirAry2 = new char [] {'๋', '์', '๋จ', '๋ถ'};
char[] dirAry3;
// ์ ์ธ๋ง ๋จผ์ ํ ์ํ์์๋ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ๋ง ๊ฐ๋ฅ
//dirAry3 = {'๋', '์', '๋จ', '๋ถ'}; // โ ๏ธ ๋ถ๊ฐ
dirAry3 = new char[] {'๋', '์', '๋จ', '๋ถ'};
int [] intAry = {1, 2, 3, 4, 5};
// โ ๏ธ ๋ฐํ์ ์๋ฌ: ArrayIndexOutOfBoundsException
int outOfAry = intAry[intAry.length];
}
}
๋ค์ค ๋ฐฐ์ด
package sec03.chap08;
public class Ex03 {
public static void main(String[] args) {
// ์ด์ค ๋ฐฐ์ด
boolean[][] dblBoolAry = new boolean[3][3];
int[][] dblIntAry = new int[][] {
// โญ๏ธ ์์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅผ ์ ์์
{1, 2, 3},
{4, 5},
{6, 7, 8, 9},
};
// ์ผ์ค ๋ฐฐ์ด
char[][][] trpChrAry = {
{{'์', '์ถ'}, {'์ธ', '๋ฌ'}},
{{'์ง', '์ฌ'}, {'์ค', '๋ฏธ'}},
{{'์ ', '์ '}, {'์ ', 'ํด'}},
};
int int1 = dblIntAry[0][1];
int int2 = dblIntAry[2][3];
int[] intAry = dblIntAry[1];
char[][] dblChrAry = trpChrAry[0];
char[] chrAry = dblChrAry[0];
char chr1 = chrAry[1];
char chr2 = trpChrAry[2][0][1];
}
}
์์ ์๋ฃํ primitive type vs ์ฐธ์กฐ ์๋ฃํ reference type
package sec03.chap08;
public class Ex04 {
public static void main(String[] args) {
// ๐งช ๋๋ฒ๊น
ํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ๊ฒ
// โญ ์์ ์๋ฃํ์ ๊ฐ ์์ฒด๋ฅผ ๋ณต์ฌ - ๋ณ๊ฐ์ ๊ฐ์ด ๋จ
boolean bool1 = true;
boolean bool2 = false;
bool2 = bool1; // ๐ด bool2์ bool1์ ๊ฐ์ ๋ณต์ฌํด์ ๋ฃ์ด์ค
bool1 = false;
int int1 = 1;
int int2 = 2;
int2 = int1;
int2 = 3;
char ch1 = 'A';
char ch2 = 'B';
ch2 = ch1;
ch1 = '๊ฐ';
// โญ ์ฐธ์กฐ ์๋ฃํ์ ๊ฐ ์ฃผ๋จธ๋์ ์ฃผ์๋ฅผ ๋ณต์ฌ
// ๋ ๋ณ์๊ฐ ๊ฐ์ ์ฃผ๋จธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋จ
boolean[] boolAry1 = { true, true, true };
boolean[] boolAry2 = { false, false, false };
boolAry2 = boolAry1; // ๐ด
boolAry1[0] = false;
//
int[] intAry1 = { 1, 2, 3 };
int[] intAry2 = { 4, 5 };
intAry2 = intAry1;
intAry2[1] = 100;
char[] chAry1 = { 'A', 'B', 'C' };
char[] chAry2 = { 'a', 'b', 'c', 'd', 'e' };
chAry2 = chAry1;
chAry1[2] = '๋ค';
}
}
๋ฌธ์์ด ๋ฐฐ์ด
package sec03.chap08;
public class Ex05 {
public static void main(String[] args) {
// โญ๏ธ ๋ฌธ์์ด์ ๊ฐ์ฒด(์ฐธ์กฐํ)์ง๋ง ์์ํ์ฒ๋ผ ๋ค๋ค์ง
String str1 = "์ฝ์ธ ํจ";
String str2 = "๊ด์ฌ ์์";
str2 = str1; // ๐ด
str1 = "๊ณ ์ ์ ์ต์ ";
}
}
์์ ๋ฐฐ์ด
package sec03.chap08;
public class Ex06 {
public static void main(String[] args) {
// ์์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ
final int[] NUMBERS = {1, 2, 3, 4, 5};
// โ ๏ธ ๋ค๋ฅธ ๋ฐฐ์ด์ ํ ๋นํ๋ ๊ฒ์ ๋ถ๊ฐ
//NUMBERS = new int[] {2, 3, 4, 5, 6};
// โญ๏ธ ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ๊ฐ๋ฅ
NUMBERS[0] = 11;
}
}
๋ฌธ์์ด ๋ฐฐ์ด ๊ด๋ จ String ๊ธฐ๋ฅ
package sec03.chap08;
public class Ex07 {
public static void main(String[] args) {
String[] strings = {"ํ๋", "๋์๊ธฐ", "์์ผ", "๋๊ตฌ๋ฆฌ"};
// ๐ก join ์ ์ ๋ฉ์๋ - ๋ฌธ์์ด(์ ํํ๋ CharSequence)์ ๋ฐฐ์ด์ ํ๋๋ก ์ด์ด๋ถ์
// ์ฒซ ๋ฒ์งธ ์ธ์๋ฅผ ๊ฐ ์ฌ์ด์ ์ฝ์
String join1 = String.join(", ", strings);
String join2 = String.join("-", strings);
String join3 = String.join(" ๊ทธ๋ฆฌ๊ณ ", strings);
String join4 = String.join("", strings);
}
}
Last updated