๋ฐฐ์—ด(Array)

2023. 1. 20. 12:21ใ†java

์ž๋ฃŒํ˜•์ด ๋™์ผํ•œ ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•  ๋•Œ ๋‹ค์ˆ˜์˜ ๋ณ€์ˆ˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒํ˜•

์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ๋ชจ๋“  ์ž๋ฃŒํ˜•์€ ๋ชจ๋‘ ๋ฐฐ์—ด๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ

(๋ฐฐ์—ด์ด ์ž๋ฃŒํ˜• 1๊ฐœ ๋ผ๋Š” ๋œป์ด ์•„๋‹ˆ๋ผ int [] , double[] ๋‹ค ๊ฐ๊ฐ 1๊ฐœ ์ž๋ฃŒํ˜•์ด๋‹ค.)

ex) int๋Š” ๋ฐ์ดํ„ฐ(์ •์ˆ˜) ํ•˜๋‚˜๋งŒ ์ €์žฅ - ๋ฐฐ์—ด์€ ๊ฐ™์€ ์ž๋ฃŒํ˜• ์—ฌ๋Ÿฌ๊ฐœ(1๊ฐœ๋„ ํฌํ•จ) ์ €์žฅ ๊ฐ€๋Šฅ

int a; int c;     a=c ๊ฐ€๋Šฅ 

int [] b;          a=b ๋ถˆ๊ฐ€๋Šฅ 

 

๋ฐฐ์—ด์˜ ์„ ์–ธ

์ž๋ฃŒํ˜•[ ] arr1

int[] arr1;

๋™์ผ โ†•  ๊ทธ๋Ÿฌ๋‚˜ ์ฒซ๋ฒˆ์งธ๋กœ ์“ฐ๋Š” ๊ฑธ ์ถ”์ฒœ

int arr1[]

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™” ํ•˜๋“ฏ์ด ๋ฐฐ์—ด๋„ ๋™์ผํ•œ ์ž‘์—…์ด ํ•„์š”  = ๋ฐฐ์—ด ์ƒ์„ฑ์ด๋ผ ํ•œ๋‹ค.

๋ฐฐ์—ด์˜ ์ƒ์„ฑ

arr1 = new int[5];
//์ •์ˆ˜ 5๊ฐœ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด arr1

 

0 0 0 0 0

arr1 ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ๊ณต๊ฐ„ 5๊ฐœ์˜ ๊ฐ๊ฐ ๊ธฐ๋ณธ๊ฐ’์„ ๋‹ค 0์œผ๋กœ ์ €์žฅํ•œ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ง.

 

๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ์„ ๋™์‹œ ์ž‘์—…

int[] arr2 = new int[3];
//์ •์ˆ˜๋ฅผ 3๊ฐœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด arr2

์ฃผ์˜์‚ฌํ•ญ

int[3] arr2 << ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค

์‹ค์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด arr4๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ƒ์„ฑ

double[] arr4 = new double[10];

double[] arr4;
arr4 = new arr4[10]
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
๋ฌธ์ž์—ด 5๊ฐœ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด arr5 ์ƒ์„ฑ
String[] arr5 = new String[5];
null null null null null

์–ด๋–ค ๋ฐ์ดํ„ฐ๋„ ๋“ค์–ด๊ฐ€ ์žˆ์ง€ ์•Š์€ ์ƒํƒœ์˜ null์„ ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์ง

 

๋ฐฐ์—ด์˜ ๋˜ ๋‹ค๋ฅธ ์ƒ์„ฑ ๋ฐฉ๋ฒ•(์‹ค๋ฌด์—์„œ๋Š” ์ž˜ ์“ฐ์ง€ ์•Š์Œ)

1,2,3์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด arr1 ์ƒ์„ฑ
int[] arr1 = {1,2,3};

์ฃผ์˜์‚ฌํ•ญ

ํŠน์ • ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” ์„ ์–ธ๊ณผ ์ƒ์„ฑ์„ ๊ฐ™์ด ์ง„ํ–‰ํ•ด์•ผ ํ•จ.
int[] arr2;
arr2 = {1,2,3};   <<๋ถˆ๊ฐ€๋Šฅ

์—ฐ์Šต

1.5, 2.5 3.8์„ ์ดˆ๊ธฐํ™” ๊ฐ’์œผ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด arr2๋ฅผ ์ƒ์„ฑ

double[] arr2 = {1.5, 2.5, 3.8};

์—ฐ์Šต

"java", "c++", "python"์„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๊ฐ–๋Š” arr3๋ฅผ ์ƒ์„ฑ

String[] arr3 = {"java", "c++", "python"};

๋ฐฐ์—ด ๊ฐ’ ์ฝ๊ธฐ(์ถœ๋ ฅ)

์ด์ƒํ•œ ๊ฐ’์ด ๋‚˜์˜ด

๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•  ๋•Œ์—๋Š” ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์ ‘๊ทผX

๋ฐฐ์—ด์— ์ €์žฅ๋œ ๊ฐ’์„ ์ฝ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฐ์—ด์˜ ๋ช‡๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’์„ ์ฝ์„์ง€ ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•œ๋‹ค.

๋ฐฐ์—ด์˜ ๊ณต๊ฐ„ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ผ๊ณ  ํ•จ

1 2 3

 arr1[0]        arr1[1]       arr1[2]

 โ˜…์ปดํ“จํ„ฐ๋Š” ์ฒซ๋ฒˆ์งธ๋ฅผ 0์œผ๋กœ ์ธ์‹ํ•จ. ์œ ์˜!    -  arr1์˜ ์ˆœ์„œ๋ฅผ Index๋ผ๊ณ  ํ•จ

 

arr1์˜ 0๋ฒˆ์งธ ์š”์†Œ ์ถœ๋ ฅ

1์ด ์ œ๋Œ€๋กœ ์ถœ๋ ฅ๋จ

์ธ๋ฑ์Šค๋ฅผ ์ž˜๋ชป ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ

๋งž๋Š” ๊ฒƒ๊นŒ์ง€ ์ถœ๋ ฅํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋‚จ arr1์—๋Š” 3๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œธ.

 

arr2 ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์‹œ์˜ค.

for๋ฌธ ์‚ฌ์šฉํ•ด์•ผ ํ•จ.

 

๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• 

System.out.println("๋ฐฐ์—ด์˜ ๊ธธ์ด : " + arr2.length);

arr2.length ๋ช…๋ น์–ด๋ฅผ ์จ์•ผ ํ•˜๋Š” ์ด์œ 

๋‚˜์ค‘์— ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์˜ค๋ฉด ๋” ์šฉ์ดํ•จ.

 

์—ฐ์Šต

arr1 ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— 1~5๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์ €์žฅํ•˜๊ณ  ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ ํ™•์ธํ•˜์‹œ์˜ค.

public class Array04 {
    public static void main(String[] args) {
        int[] arr1 = new int[5];
       
        arr1[0] = 1;
        arr1[1] = 2;
        arr1[2] = 3;
        arr1[3] = 4;
        arr1[4] = 5;

        for(int i = 0; i < arr1.length ; i++) {
            System.out.println(arr1[i]);
        }
    }
}

๊ฐ ์š”์†Œ๋ฅผ ์ €์žฅํ•  ๋•Œ ์š”์†Œ์˜ ์ˆ˜๊ฐ€ ๋งŽ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

์š”์†Œ์˜ ๊ฐ’์„ ๊ฐ๊ฐ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ ๋Œ€์‹  ์•„๋ž˜์ฒ˜๋Ÿผ for๋ฌธ์œผ๋กœ ์“ฐ๊ธฐ

for(int i = 0; i< arr1.length ; i++) {
    arr1[i] = i + 1;
}

for-each๋ฌธ ์‚ฌ์šฉํ•˜๋ฉด arr1์˜ ๋ชจ๋“  ์š”์†Œ ์ถœ๋ ฅ ๊ฐ€๋Šฅ  int e์˜ e๋Š” each๋ฅผ ํ‘œํ˜„ํ•จ. e๊ฐ€ ์•„๋‹ˆ์–ด๋„ ๋œ๋‹ค.

์ž๋ฃŒํ˜•[] arr2 = {์š”์†Œ, ์š”์†Œ, ์š”์†Œ};
for(๋ฐ˜๋ณต ๋Œ๋ฆด ์ž๋ฃŒํ˜• e : ๋ฐ˜๋ณต์„ ๋Œ๋ฆด ๊ฒƒ) {
    System.out.println(e);
}
for(int e : arr1) {
    System.out.println(e);
}

arr1์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฝ์œผ๋ฉด์„œ ๋ฐ˜๋ณต

1.arr1์˜ ์ฒซ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ฅผ e์— ์ €์žฅํ•˜๊ณ 

2. e ์ถœ๋ ฅ > arr1์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ์ฝ๊ณ  ์ถœ๋ ฅ๊นŒ์ง€ ๋ฐ˜๋ณตํ•จ.

โ˜…arr1 ์•ˆ์— ์ €์žฅ๋œ ์ž๋ฃŒํ˜•์„ for-each๋ฌธ๊ณผ ์ž˜ ๋งค์น˜์‹œํ‚ค๋Š” ๊ฒŒ ์ค‘์š”ํ•˜๋‹ค

 

for each๋ฌธ์œผ๋กœ arr2 ์ „์ฒด ์š”์†Œ ์ฝ๊ธฐ

double[] arr2 = {1.1, 2.2, 3.3};
for(double e : arr2) {
    System.out.println(e);
}

'java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ด์ค‘๋ฐ˜๋ณต๋ฌธ  (0) 2023.01.25
๋ฐฐ์—ด ๋ฌธ์ œ ํ’€๊ธฐ  (0) 2023.01.20
๋ฐ˜๋ณต๋ฌธ ๋ฌธ์ œ ํ’€๊ธฐ2  (0) 2023.01.19
infiniteroof (๋ฌดํ•œ ๋ฃจํ”„)  (0) 2023.01.19
break์™€ continue  (0) 2023.01.19