Records rather than Memories

배열 본문

Software/JAVA

배열

Downer 2019. 10. 16. 17:20

배열(Array)을 사용하는 이유는 연관된 정보를 그룹핑 하기 위해서 이다.

 

예를 들어 1반에 여러명의 학생들이 있다고 가정하면

1반 = {'김도훈', '김도일' ... '김도열'}

1반은 변수, 학생은 변수에 소속된 상수로 취급되어 담긴다.

 

 

배열의 선언

- 데이터 타입뒤에 []를 붙여야한다.

- 데이터들은 중괄호 속에 위치하고 쉼표로 구분된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package javatutorials.array;
 
public class DefineDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        String[] Alphabet = {"a""b""c""d""e"};
 
    }
 
}
 
 
cs

 

배열의 제어

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package javatutorials.array;
 
public class GetDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        String[] Alphabet = {"a""b""c""d""e"};
        System.out.println(Alphabet[0]); //0번째 index를 출력
        System.out.println(Alphabet[1]);
        System.out.println(Alphabet[2]);
        System.out.println(Alphabet[3]);
    }
 
}
 
cs

* index 숫자는 0부터 시작한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package javatutorials.array;
 
public class LengthDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String[] Alphabet = new String[4];
        Alphabet[0= "a";
        System.out.println(Alphabet.length);//4
        Alphabet[1= "b";
        System.out.println(Alphabet.length);//4
        Alphabet[2= "c";
        System.out.println(Alphabet.length);//4
        Alphabet[3= "d";
        System.out.println(Alphabet.length);//4
    } //length : 원소의 개수, 몇개의 값을 수용할 수 있느냐
 
}
 
cs

a

b

c

d

0

1

2

3

 

 

배열의 사용

1. 반 학생들을 번호 순으로 정렬

2. 상담받은 학생의 숫자를 기록

3. 대기중인 학생과 상담

4. 상담받은 학생 수를 1 증가

5. 총원보다 상담받은 학생이 적다면 3번 절차로 돌아간다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package javatutorials.array;
 
public class ArrayLoopDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String[] members = { "최진혁""최유빈""한이람" };
        for (int i = 0; i < members.length; i++) {
            String member = members[i];
            System.out.println(member + "이 상담을 받았습니다");
        }
 
    }
 
}
 
cs

* 반복문과 배열은 밀접한 관계에 있다.

 

for-each

그래서 나온 문법이 for-each이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package javatutorials.array;
 
public class ForeachDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        String[] members = { "최진혁""최유빈""한이람" };
        for (String e : members) {
            System.out.println(e + "이 상담을 받았습니다");
            // 복잡하게 i를 사용하는것 보다 훨씬 간
        }
    }
 
}
 
cs

 

c.f) 흔히 발생하는 오류

- ArrayIndexOutOfBoundsException : 존재하지 않는 인덱스를 사용하려 했을 때

예를들어 인덱스가 2까지 존재하는데 3을 사용했기 때문이다.

 

'Software > JAVA' 카테고리의 다른 글

입력과 출력  (0) 2019.10.17
Method  (0) 2019.10.16
반복문의 중첩  (0) 2019.10.15
[java] break, continue  (0) 2019.10.15
[java] for문  (0) 2019.10.15
Comments