์ƒˆ์†Œ์‹

Algorithm/์ž๋ฐ”

๋ฐฐ์—ด (Array)

  • -

๋ณ€์ˆ˜์™€ ๋ฐฐ์—ด

 

 

 

โžž ๊ฐ™์€ ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์„ ์–ธํ•˜๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์‚ฌ์šฉํ•œ๋‹ค.

// ํ•™์ƒ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ int ๋ณ€์ˆ˜๋ฅผ ๊ณ„์†ํ•ด์„œ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
int student1 = 90;
int student2 = 80;
int student3 = 70;
int student4 = 60;
int student5 = 50;

// ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ๋‹ค ๋‹ค๋ฅด๊ธฐ์— ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋‹ค.
System.out.println("ํ•™์ƒ1 ์ ์ˆ˜: " + student1); 
System.out.println("ํ•™์ƒ2 ์ ์ˆ˜: " + student2); 
System.out.println("ํ•™์ƒ3 ์ ์ˆ˜: " + student3); 
System.out.println("ํ•™์ƒ4 ์ ์ˆ˜: " + student4); 
System.out.println("ํ•™์ƒ5 ์ ์ˆ˜: " + student5);
// ๋ฐฐ์—ด ๋ณ€์ˆ˜ ์„ ์–ธ
int[] students;	

// ๋ฐฐ์—ด ์ƒ์„ฑ
students = new int[5]; 

// ๋ณ€์ˆ˜ ๊ฐ’ ๋Œ€์ž…
students[0] = 90;
students[1] = 80;
students[2] = 70;
students[3] = 60;
students[4] = 50;

// ๋ณ€์ˆ˜ ๊ฐ’ ์‚ฌ์šฉ : ๊ฐ ๋ณ€์ˆ˜๋ฅผ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
System.out.println("ํ•™์ƒ1 ์ ์ˆ˜: " + students[0]); 
System.out.println("ํ•™์ƒ2 ์ ์ˆ˜: " + students[1]); 
System.out.println("ํ•™์ƒ3 ์ ์ˆ˜: " + students[2]); 
System.out.println("ํ•™์ƒ4 ์ ์ˆ˜: " + students[3]); 
System.out.println("ํ•™์ƒ5 ์ ์ˆ˜: " + students[4]);
// ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ
for (int i = 0; i < students.length; i++) {
    system.out.println("ํ•™์ƒ" + (i + 1) + " ์ ์ˆ˜ : " + students[i]);
}

 

 

 

 

โžž ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โžž ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด int[] students; ์™€ ๊ฐ™์ด ๋ฐฐ์—ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.

โžž ์ผ๋ฐ˜์ ์ธ ๋ณ€์ˆ˜์™€ ์ฐจ์ด์ ์€ int[] ์ฒ˜๋Ÿผ ํƒ€์ž… ๋‹ค์Œ์— ๋Œ€๊ด„ํ˜ธ([ ])๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

 

// 1. ๋ฐฐ์—ด ๋ณ€์ˆ˜ ์„ ์–ธ
int[] students;

 

 

 

โžž ์‹ค์ œ ์ €์žฅ ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โžž new int[5] ๋ผ๊ณ  ์ž…๋ ฅํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ด 5๊ฐœ์˜ int ํ˜• ๋ณ€์ˆ˜๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.

 

// 2. ๋ฐฐ์—ด ์ƒ์„ฑ
students = new int[5];

 

 

 

โžž ์ž๋ฐ”๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ ๊ทธ ๋‚ด๋ถ€๊ฐ’์„ ์ž๋™์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

โžž ์ˆซ์ž๋Š” 0 , boolean ์€ false , String ์€ null ๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค.

 

 

 

โžž ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ๋™์‹œ์— ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” new int[] ํ‘œํ˜„์ด ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค.

// ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ๋™์‹œ์— ํ•˜๋Š” ๊ฒฝ์šฐ : new int[] ์ƒ๋žต ๊ฐ€๋Šฅ

// ๋ฐฐ์—ด ์„ ์–ธ + ์ดˆ๊ธฐํ™”
int[] example = new int[]{1, 2, 3, 4, 5};
int[] example = {1, 2, 3, 4, 5};
// ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ๋”ฐ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ : new int[] ์ƒ๋žต ๋ถˆ๊ฐ€๋Šฅ

// ๋ฐฐ์—ด ์„ ์–ธ
int[] exampleError;

// ๋ฐฐ์—ด ์ดˆ๊ธฐํ™”
exampleError = { 1, 2, 3, 4, 5 }; // Error 
exampleError = new int[] { 1, 2, 3, 4, 5 };
// ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ : new int[] ์ƒ๋žต ๋ถˆ๊ฐ€๋Šฅ

// ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ฐฐ์—ด์„ ์„ ์–ธ ์—†์ด ์ดˆ๊ธฐํ™”ํ•ด์„œ ์ง‘์–ด๋„ฃ๊ธฐ.
int sum = add(new int[]{1, 2, 3, 4, 5}); // OK
int sum = add({ 1, 2, 3, 4, 5 }); // Error
// int ๋ฐฐ์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„์„œ ์›์†Œ์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฉ”์„œ๋“œ
int add(int[] arr) {
    
    int result = 0;
    int len = arr.length;
    
    for (int i = 0; i < len; i++) {
        result += arr[i];
    }
    return result;
}

 

 

 

โžž ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋‚˜๋ฉด, ์ž๋ฐ”๋Š” ๋ฉ”๋ชจ๋ฆฌ ์–ด๋”˜๊ฐ€์— ์žˆ๋Š” ์ด ๋ฐฐ์—ด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ฐธ์กฐ๊ฐ’( x001 )์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

โžž int[] students ๋ณ€์ˆ˜๋Š” new int[5] ๋กœ ์ƒ์„ฑํ•œ ๋ฐฐ์—ด์˜ ์ฐธ์กฐ๊ฐ’์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ์‹ค์ œ ๋ฐฐ์—ด์— ์ ‘๊ทผํ•˜๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.

 

// 1. ๋ฐฐ์—ด ์ƒ์„ฑ
int[] students = new int[5]; 

// 2. new int[5]์˜ ๊ฒฐ๊ณผ๋กœ x001 ์ฐธ์กฐ๊ฐ’ ๋ฐ˜ํ™˜
int[] students = x001; 

// 3. ์ตœ์ข… ๊ฒฐ๊ณผ
students = x001

// I@4617c264 @์•ž์˜ I๋Š” intํ˜• ๋ฐฐ์—ด์„ ๋œปํ•œ๋‹ค. @๋’ค์— 16์ง„์ˆ˜๋Š” ์ฐธ์กฐ๊ฐ’์„ ๋œปํ•œ๋‹ค.
System.out.println(students);

 

 

 

 

โžž ๋ฐฐ์—ด์˜ ์›์†Œ๋งˆ๋‹ค์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž์ด๋‹ค.

โžž ์ธ๋ฑ์Šค(index)์˜ ๋ฒ”์œ„ : 0 to ( ๋ฐฐ์—ด๊ธธ์ด - 1 )

 

int[] students = new int[5];

// ์ธ๋ฑ์Šค ํ—ˆ์šฉ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ
System.out.println(students[5]);

 

 

 

 

โžž ์ฐธ์กฐ๊ฐ’(๋ฐฐ์—ด ๋ณ€์ˆ˜)์„ ํ†ตํ•ด์„œ ์‹ค์ œ ๋ฐฐ์—ด์— ์ ‘๊ทผํ•œ๋‹ค. 

โžž ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์œ„์น˜์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ๋Œ€์ž…ํ•œ๋‹ค.

 

// 1. ๋ฐฐ์—ด์— ๊ฐ’์„ ๋Œ€์ž…
students[0] = 90; 

// 2. ๋ณ€์ˆ˜์— ์žˆ๋Š” ์ฐธ์กฐ๊ฐ’์„ ํ†ตํ•ด ์‹ค์ œ ๋ฐฐ์—ด์— ์ ‘๊ทผ. 
// 3. ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์œ„์น˜์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ณ , ๊ฐ’ ๋Œ€์ž…
x001[0] = 90;

 

 

 

โžž ์ฐธ์กฐ๊ฐ’(๋ฐฐ์—ด ๋ณ€์ˆ˜)์„ ํ†ตํ•ด์„œ ์‹ค์ œ ๋ฐฐ์—ด์— ์ ‘๊ทผํ•œ๋‹ค. 

โžž ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์œ„์น˜์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ์ฝ๋Š”๋‹ค.

 

// 1. ๋ณ€์ˆ˜ ๊ฐ’ ์ฝ๊ธฐ.
System.out.println("ํ•™์ƒ1 ์ ์ˆ˜: " + students[0]);

// 2. ๋ณ€์ˆ˜์— ์žˆ๋Š” ์ฐธ์กฐ๊ฐ’์„ ํ†ตํ•ด ์‹ค์ œ ๋ฐฐ์—ด์— ์ ‘๊ทผ. 
// 3. ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์œ„์น˜์˜ ์š”์†Œ์— ์ ‘๊ทผ.
System.out.println("ํ•™์ƒ1 ์ ์ˆ˜: " + x001[0]);

// 4. ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ฝ์–ด์˜ด.
System.out.println("ํ•™์ƒ1 ์ ์ˆ˜: " + 90);

 

 

 

โžž  ํ•ด๋‹น ๋ฐฐ์—ด์˜ ๊ธธ์ด(์‚ฌ์ด์ฆˆ) ๊ตฌํ•˜๊ธฐ

int[] students = new int[5];

// ๋ฐฐ์—ด์˜ ๊ธธ์ด : 5
int arrLength = students.legnth;

 

 

โœ๏ธ ์ด๋ฏธ ์ƒ์„ฑํ•œ ๋ฐฐ์—ด์— ์ €์žฅํ•  ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ

 

โžž ๋ฐฐ์—ด์€ ํ•œ ๋ฒˆ ์„ ์–ธ๋˜๊ณ  ๋‚˜๋ฉด ๊ธธ์ด๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.

โžž ๋” ํฐ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ํ›„์—, ๊ธฐ์กด ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋ณต์‚ฌํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

โœ๏ธ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ํ™œ์šฉํ•ด ๋ชจ๋“  ์š”์†Œ ์ถœ๋ ฅํ•˜๊ธฐ

// ๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ
int[] students = new int[5]

//๋ณ€์ˆ˜ ๊ฐ’ ๋Œ€์ž… 
students[0] = 90; 
students[1] = 80; 
students[2] = 70; 
students[3] = 60; 
students[4] = 50;

// ๋ฐฐ์—ด์˜ ๊ธธ์ด
int len = students.length;

// ๋ฐฐ์—ด์˜ ๊ธธ์ด ํ™œ์šฉํ•ด ๋ฐ˜๋ณต๋ฌธ ์ฒ˜๋ฆฌํ•˜๊ธฐ
for (int i = 0; i < len; i++) { 
	System.out.println("ํ•™์ƒ" + (i + 1) + " ์ ์ˆ˜: " + students[i]); 
}

 

 

โœ๏ธ char ๋ฐฐ์—ด์€ ๋ฐ˜๋ณต๋ฌธ ์—†์ด ๋ชจ๋“  ์š”์†Œ ์ถœ๋ ฅ์ด ๊ฐ€๋Šฅ

 

โžž ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ์—” ๋ฐฐ์—ด์˜ ์ฐธ์กฐ๊ฐ’์„ ์ถœ๋ ฅํ•˜์ง€๋งŒ, `char`ํ˜• ๋ฐฐ์—ด์€ ์‹ค์ œ ์š”์†Œ๊ฐ’์„ ๋ฐ”๋กœ ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•˜๋‹ค !

int[] iArr = {1, 2, 3, 4};
char[] chArr = {'a', 'b', 'c'};

// I@14318bb : iArr์˜ ์‹ค์ œ ๋‚ด์šฉ์ด ์•„๋‹Œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ์ถœ๋ ฅ
System.out.println(iArr);	

// {a, b, c} : println ๋ฉ”์„œ๋“œ๊ฐ€ char ๋ฐฐ์—ด์ผ ๋•Œ๋งŒ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋˜์–ด์žˆ๋‹ค.
System.out.println(chArr);	

// {1, 2, 3, 4}
System.out.println(Arrays.toString(iArr));

 

 

 

โ‘  for ๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉ

 

โžž ๊ธฐ์กด ๋ฐฐ์—ด์˜ ์š”์†Œ์— ํ•˜๋‚˜์”ฉ ์ ‘๊ทผํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ์ผ์ผ์ด ๋ณต์‚ฌํ•ด์ฃผ๊ณ 

โžž ๊ธฐ์กด ๋ฐฐ์—ด์„ ๊ฐ€๋ฆฌํ‚ค๋˜ ๋ณ€์ˆ˜๊ฐ€ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋ฐ”๊ฟ”์ฃผ๋Š” ๋ฐฉ์‹

int[] arr = new int[5];
for(int i = 0; i < arr.length; i++) {
	arr[i] = i + 1;
}
    
int[] tmp = new int[arr.length*2];
for(int i = 0; i < arr.length; i++) {
	tmp[i] = arr[i];
}

// tmp์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ’์„ arr์— ์ €์žฅ.
arr = tmp;

 

 

โ‘ก System.arraycopy( )

 

โžž System.arraycopy(scr, scrPos, dst, dstPos, len)

    1. src : ๋ณต์‚ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐฐ์—ด

    2. srcPos : ์›๋ณธ ๋ฐฐ์—ด์—์„œ ์–ด๋А ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ฝ์–ด์˜ฌ์ง€์— ๋Œ€ํ•œ ์‹œ์ž‘ ์œ„์น˜

    3. dst : ๋ณต์‚ฌํ•œ ๋‚ด์šฉ์„ ์ €์žฅํ•  ๋ฐฐ์—ด

    4. dstPos : ์›๋ณธ ๋ฐฐ์—ด์œผ๋กœ๋ถ€ํ„ฐ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ›์„ ๋•Œ, ์–ด๋А ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ €์žฅํ• ๊ฑด์ง€ ์‹œ์ž‘ ์œ„์น˜

    5. len : ์›๋ณธ์—์„œ ๋ณต์‚ฌ๋ณธ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ์“ธ ๋ฐ์ดํ„ฐ ๊ธธ์ด

โžž ์ง€์ •๋œ ๋ฒ”์œ„์˜ ๊ฐ’๋“ค์„ ํ•œ ๋ฒˆ์— ํ†ต์งธ๋กœ ๋ณต์‚ฌ

โžž ํ•˜์ง€๋งŒ, ๋ณต์‚ฌ ๋Œ€์ƒ ๋ฐฐ์—ด์— ๊ธฐ์กด ๋ฐฐ์—ด ์‚ฌ์ด์ฆˆ ๋งŒํผ์˜ ์—ฌ์œ  ๊ณต๊ฐ„์ด ์—†์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ

// 1. fromArr[0]๋ถ€ํ„ฐ fromArr์˜ ๊ธธ์ด๋งŒํผ์˜ ์›์†Œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ,
// 2. toArr[5] ์œ„์น˜๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ €์žฅํ•œ๋‹ค.
System.arraycopy(fromArr, 0, toArr, 5, fromArr.length);

 

 

โœ๏ธ ๊ธฐ๋ณธํ˜•(Primitive Type)  VS  ์ฐธ์กฐํ˜•(Reference Type)

 

โ‘  ๊ธฐ๋ณธํ˜•(Primitive Type)

 

โžž ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ์ง์ ‘ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธํ˜•

โžž ์„ ์–ธ๊ณผ ๋™์‹œ์— ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ง„๋‹ค. ๋”ฐ๋ผ์„œ ํฌ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ํ•  ์ˆ˜๋Š” ์—†๋‹ค

โžž int, long, double, boolean ...

 

 

โ‘ก ์ฐธ์กฐํ˜•(Reference Type)

 

โžž ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ฐธ์กฐ(์ฃผ์†Œ)๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…

โžž ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์ฐธ์กฐํ˜•์€ ํฌ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค

โžž ๋’ค์— ๋‚˜์˜ฌ ๊ฐ์ฒด๋‚˜ ํด๋ž˜์Šค๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๋“ค๋„ ๋ชจ๋‘ ์ฐธ์กฐํ˜•์ด๋‹ค

 

 

 

โ‘  String ๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ

 

โžž ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•( int, char, ... )์˜ ๋ฐฐ์—ด ์„ ์–ธ๊ณผ ๋™์ผ

// 1. 3๊ฐœ์˜ ๋ฌธ์ž์—ด์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ.
// 2. null๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค.
String[] name = new String[3];

 

 

โ‘ก String ๋ฐฐ์—ด์— ๊ฐ’ ๋Œ€์ž…

 

โžž String์€ ํด๋ž˜์Šค์ด๋ฏ€๋กœ new ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

โžž ํ•˜์ง€๋งŒ, ํŽธ๋ฆฌ๋ฅผ ์œ„ํ•ด String ํด๋ž˜์Šค๋งŒ ํฐ๋”ฐ์˜ดํ‘œ( " " )๋งŒ์œผ๋กœ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ—ˆ์šฉํ•œ๋‹ค.

String[] name = new String[3];

name[0] = "Shin"; // name[0] = new String("Shin");
name[1] = "Park"; 
name[2] = "Kim"

 

 

โœ๏ธ String ๋ฐฐ์—ด์€ ์ฐธ์กฐํ˜• ๋ฐฐ์—ด์ด๋‹ค

 

โžž ๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ๋ฐฐ์—ด์— ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋œ๋‹ค

 

 

โœ๏ธ char๋ฐฐ์—ด vs Stringํด๋ž˜์Šค

 

โžž char๋ฐฐ์—ด์— ๊ธฐ๋Šฅ(๋ฉ”์„œ๋“œ)๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์ด Stringํด๋ž˜์Šค

โžž String๊ฐ์ฒด(๋ฌธ์ž์—ด)์€ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ณ , ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ๋„ ์‚ฌ์‹ค ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์ด ์ƒ์„ฑ๋˜์–ด ์ €์žฅ๋˜๋Š” ๊ฒƒ

โžž ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€์ ์—์„œ ๋‚ญ๋น„.

// str ๋ฌธ์ž์—ด์˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”
String str = "Java17";

// "Java21"์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์ด ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ ํ›„์— str์— ์ €์žฅ๋œ๋‹ค.
str = "Java21"; 

System.out.println(str); // "Java21"

 

 

๐Ÿ“Œ 2์ฐจ์› ๋ฐฐ์—ด

 

โžž 2์ฐจ์› ๋ฐฐ์—ด์€ ๋ง ๊ทธ๋Œ€๋กœ 1์ฐจ์› ๋ฐฐ์—ด์—์„œ ํ•˜๋‚˜์˜ ์ฐจ์›์ด ์ถ”๊ฐ€๋œ ๊ฒƒ.

 

 

 

int[][] arr = new int[2][3] // arr[row][column]

arr[0][0] = 1; //0ํ–‰, 0์—ด 
arr[0][1] = 2; //0ํ–‰, 1์—ด 
arr[0][2] = 3; //0ํ–‰, 2์—ด 
arr[1][0] = 4; //1ํ–‰, 0์—ด 
arr[1][1] = 5; //1ํ–‰, 1์—ด 
arr[1][2] = 6; //1ํ–‰, 2์—ด

 

 

// ๋ฐฉ๋ฒ• 1 : new int[][]
int[][] arr = new int[][] {{1, 2, 3}, {4, 5, 6}};
// ๋ฐฉ๋ฒ• 2 : new int[][] ์ƒ๋žต
int[][] arr = {{1, 2, 3}, {4, 5, 6}}; // new int[][] ์ƒ๋žต ๊ฐ€๋Šฅ
// ๋ฐฉ๋ฒ• 3 : ์ค„ ๋ฐ”๊ฟˆ
int[][] arr = { 
    {1, 2, 3}, 
    {4, 5, 6} 
};

 

 

 

โ‘   ์ผ๋ฐ˜์ ์ธ  for ๋ฐ˜๋ณต๋ฌธ

 

โžž ์ฒซ ๋ฒˆ์งธ for๋ฌธ์€ ํ–‰(row)์„ ํƒ์ƒ‰ํ•œ๋‹ค.

โžž ๋‚ด๋ถ€์— ์žˆ๋Š” ๋‘ ๋ฒˆ์งธ for๋ฌธ์€ ์—ด(column)์„ ํƒ์ƒ‰ํ•œ๋‹ค.

// 2x3 2์ฐจ์› ๋ฐฐ์—ด ์ƒ์„ฑ.
int[][] arr = new int[2][3]; //ํ–‰(row), ์—ด(column)

int[][] arr = {
	{1, 2, 3},
	{4, 5, 6} 
};

for (int row = 0; row < arr.length; row++) {
	for (int col = 0; col < arr[row].length; col++) {
		System.out.print(arr[row][col] + " ");
	}
	System.out.println();
}

 

 

โ‘ก ํ–ฅ์ƒ๋œ for ๋ฐ˜๋ณต๋ฌธ

int[][] arr = new int[2][3]; //ํ–‰(row), ์—ด(column)

int[][] arr = {
	{1, 2, 3},
	{4, 5, 6} 
};

int sum = 0; // ๋ชจ๋“  ์š”์†Œ์˜ ํ•ฉ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜

for (int[] row : arr) {	// arr์˜ ๊ฐ ์š”์†Œ(1์ฐจ์› ๋ฐฐ์—ด ์ฃผ์†Œ)๋ฅผ row ๋ฐฐ์—ด์— ๋„ฃ๊ธฐ.
	for (int column : row) { // row์˜ ๊ฐ ์š”์†Œ๋ฅผ column์— ๋„ฃ๊ธฐ.
    	sum += column;
    }
}
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.