๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL/Java

๐Ÿ“š 1/5(๊ธˆ) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java-Spring 10์ผ์ฐจ TIL - ๋ฐฐ์—ด, array / java๋กœ kiosk ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ - ๊ฐœ์ธ ๊ณผ์ œ(2)

๐Ÿ“ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ

  • java ๋ฐฐ์—ด

 

 

 

 

๐Ÿ“ ๋ฐฐ์—ด(array, [ ])

  ๊ฐ™์€ ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•˜๊ฒŒ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด๋‘” ๊ฒƒ์ด๋‹ค. ๋ฐฐ์—ด์€ ์ƒ์„ฑ๋  ๋•Œ ๊ฐ ํƒ€์ž…๋ณ„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ์ฑ„์›Œ์ง„๋‹ค. ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด์ฃผ๊ณ , ์ธ๋ฑ์Šค๋ฅผ ์ •ํ•ด์ค€๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธํ•œ๋‹ค.

  • ๋ณ€์ˆ˜ํƒ€์ž…[ ] ๋ณ€์ˆ˜๋ช…;
  • ๋ณ€์ˆ˜ํƒ€์ž… ๋ณ€์ˆ˜๋ช… [ ];
// ๋ฐฐ์—ด ์„ ์–ธ

// ์ผ๋ฐ˜์ ์ธ ์„ ์–ธ๋ฐฉ์‹
int[] intArray;    // ์ •์ˆ˜ ๋ฐฐ์—ด
long[] longArray;
double[] doubleArray;  // ์‹ค์ˆ˜ ๋ฐฐ์—ด 
char[] charArray;  // ๋ฌธ์ž ๋ฐฐ์—ด
String[] stringArray; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด


// ๋ฐฐ์—ด ์„ ์–ธ

// 2๋ฒˆ์งธ ์„ ์–ธ๋ฐฉ์‹
int intArray[];    // ์ •์ˆ˜ ๋ฐฐ์—ด
long longArray[];
double doubleArray[];  // ์‹ค์ˆ˜ ๋ฐฐ์—ด 
char charArray[];  // ๋ฌธ์ž ๋ฐฐ์—ด
String stringArray[]; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด

 

 

 

 

 

  • ์ธ๋ฑ์Šค(index)

  ๋ฐฐ์—ด์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ์ธ๋ฑ์Šค์˜ ๋ฒ”์œ„๋Š” 0 ~ (n-1)์ด ๋œ๋‹ค. ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ฝ๊ณ  ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

//๋ณ€์ˆ˜ ๊ฐ’ ๋Œ€์ž…
students[0] = 90;
students[1] = 80;

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

 

 

 

 

 

 

  • ๊ฐ’์˜ ๋ณต์‚ฌ

  ๋ฐฐ์—ด์€ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์ด๋‹ค. ์‹ค์ œ๊ฐ’์ด ์•„๋‹Œ ์‹ค์ œ๊ฐ’์˜ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ๋”ฐ๋ผ์„œ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฃผ์†Œ ๊ฐ’๋งŒ ๋ณต์‚ฌ๋˜๋Š” ์–•์€ ๋ณต์‚ฌ๊ฐ€ ๋˜๊ณ , ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋˜‘๊ฐ™์ด ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ํ•œ๋‹ค.

// ์–•์€ ๋ณต์‚ฌ
int[] a = { 1, 2, 3, 4 };
int[] b = a; // ์–•์€ ๋ณต์‚ฌ

b[0] = 3; // b ๋ฐฐ์—ด์˜ 0๋ฒˆ์งธ ์ˆœ๋ฒˆ๊ฐ’์„ 3์œผ๋กœ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. (1 -> 3)

System.out.println(a[0]); // ์ถœ๋ ฅ 3  <- a ๋ฐฐ์—ด์˜ 0๋ฒˆ์งธ ์ˆœ๋ฒˆ๊ฐ’๋„ 3์œผ๋กœ ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค. 


// ๊นŠ์€ ๋ณต์‚ฌ
int[] a = { 1, 2, 3, 4 };
int[] b = new int[a.length]; 

for (int i = 0; i < a.length; i++) {
    b[i] = a[i]; // ๊นŠ์€ ๋ณต์‚ฌ
}

b[0] = 3; // b ๋ฐฐ์—ด์˜ 0๋ฒˆ์งธ ์ˆœ๋ฒˆ๊ฐ’์„ 3์œผ๋กœ ์ˆ˜์ • (1 -> 3)

System.out.println(a[0]); // ์ถœ๋ ฅ 1 <- ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— a ๋ฐฐ์—ด์€ ๊ทธ๋Œ€๋กœ


// ๊นŠ์€ ๋ณต์‚ฌ ๋ฉ”์†Œ๋“œ
// 1. clone() ๋ฉ”์†Œ๋“œ
int[] a = { 1, 2, 3, 4 };
int[] b = a.clone(); // ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•
// ํ•˜์ง€๋งŒ, clone() ๋ฉ”์„œ๋“œ๋Š” 2์ฐจ์›์ด์ƒ ๋ฐฐ์—ด์—์„œ๋Š” ์–•์€ ๋ณต์‚ฌ๋กœ ๋™์ž‘


// ๊นŠ์€ ๋ณต์‚ฌ ๋ฉ”์†Œ๋“œ
import java.util.Arrays;

public class Main {
	public static void main(String[] args) {
		// 2. Arrays.copyOf() ๋ฉ”์†Œ๋“œ
		int[] a = { 1, 2, 3, 4 };
		int[] b = Arrays.copyOf(a, a.length); // ๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜ length๊ฐ’๋„ ๊ฐ™์ด ๋„ฃ์–ด์ค€๋‹ค
	}
}

 

 

 

 

 

  • 2์ฐจ์› ๋ฐฐ์—ด

  2์ฐจ์› ๋ฐฐ์—ด์€ ํ–‰(row)๊ณผ ์—ด(column)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋จผ์ € ํ–‰ ๋ฒˆํ˜ธ๋ฅผ ์ฐพ๊ณ , ์—ด ๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.

public class Arr {
	public static void main(String[] args) {

        // 2x3 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค.
        int[][] arr = new int[2][3]; // ํ–‰(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์—ด

        // 0ํ–‰ ์ถœ๋ ฅ
        System.out.print(arr[0][0] + " "); // 0์—ด ์ถœ๋ ฅ
        System.out.print(arr[0][1] + " "); // 1์—ด ์ถœ๋ ฅ
        System.out.print(arr[0][2] + " "); // 2์—ด ์ถœ๋ ฅ
        System.out.println(); // ํ•œ ํ–‰์ด ๋๋‚˜๋ฉด ๋ผ์ธ์„ ๋ณ€๊ฒฝํ•œ๋‹ค.
        // ์ถœ๋ ฅ ๊ฒฐ๊ณผ 1 2 3
        
        // 1ํ–‰ ์ถœ๋ ฅ
        System.out.print(arr[1][0] + " "); // 0์—ด ์ถœ๋ ฅ
        System.out.print(arr[1][1] + " "); // 1์—ด ์ถœ๋ ฅ
        System.out.print(arr[1][2] + " "); // 2์—ด ์ถœ๋ ฅ
        System.out.println(); // ํ•œ ํ–‰์ด ๋๋‚˜๋ฉด ๋ผ์ธ์„ ๋ณ€๊ฒฝํ•œ๋‹ค.
        // ์ถœ๋ ฅ ๊ฒฐ๊ณผ 4 5 6
	} 
}

 

 

 

 

 

๐Ÿ“– ์˜ค๋Š˜์˜ ํšŒ๊ณ 

  ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. ๊ฐœ์ธ ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ TIL์„ ์“ฐ๋ ค๋‹ˆ๊นŒ ํ•  ์ผ์ด ๋„ˆ๋ฌด ๋งŽ์•„์ง„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐœ์ธ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋”๋ผ๋„ ์‹œ๊ฐ„ ๋ถ„๋ฐฐ๋ฅผ ์ž˜ํ•ด์„œ ํ•˜๋ฃจ ๊ณ„ํš๋Œ€๋กœ ์›€์ง์—ฌ๋ด์•ผ๊ฒ ๋‹ค. ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ตฌ๊ธ€๋ง๋„ ํ•ด๋ณด๋ฉด์„œ ์ฐพ์•„๋ดค๋Š”๋ฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ํ•ด์„ํ•˜๋Š” ๋Šฅ๋ ฅ์€ ์•„์ง๊นŒ์ง€ ๋ถ€์กฑํ•œ ํŽธ์ด๋ผ ๋ด๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค..

 

 

 

๐Ÿ“† ๋‚ด์ผ ์–ด๋–ค ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•  ๊ฒƒ์ธ์ง€

  ๊ฐœ์ธ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•ด ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค.