본문 바로가기

Programming/자바

생활코딩 자바 - 배열

배열 (array)

연관된 정보 그룹핑

 

cf) 변수: 반장 / 상수: a, b, c 등 개별적 학생 이름 => 변수에 상수를 대입

 

반<학년<학교 => 학생 효율적 관리 위해 그룹핑한 예

 

파일, 디렉토리

 

 

배열의 정의 

연관된 데이터를 모아서 관리하기 위해 사용하는 데이터타입

 

  •  

String[] classGroup = {"a", "b", "c"};

 

=> 배열 정의함 -> 배열 정의한 것을 classGroup에 담음 => classGroup은 문자열 타입을 가진 데이터들의 모임

 

 

제어

 

  • 한 줄로 정의

String[] classGroup = {"a", "b", "c", "d"}; => 원소(element)
System.out.println(classGroup[0]);
System.out.println(classGroup[1]);
System.out.println(classGroup[2]);
System.out.println(classGroup[3]); => 색인(index)

 

 

  • 분할하여 정의

String[] classGroup = new String[4]; => 문자열 데이터타입으로 이루어진 새로운 배열에 4가지 원소가 담겨있음
classGroup[0] = "a";
System.out.println(classGroup.length);
classGroup[1] = "b";
System.out.println(classGroup.length);
classGroup[2] = "c";
System.out.println(classGroup.length);
classGroup[3] = "d";
System.out.println(classGroup.length);

 

=> 

4

4

4

4

 

=> 배열이 몇 개의 값을 갖고 있음 (X) / 배열이 몇 개의 값을 수용할 수 있는지 (O) 

 

  •  

-------length---------

element

a b c d
0 1 2 3

index

 

 

반복문과 배열

 

String[] members = {"a", "b", "c"};
for (int i=0;i<members.length;i++) {
String member = members[i];
System.out.println(member + " 상담 받음");
}

 

for - each

String[] members = {"a", "b", "c"};
for (String e : members) {
System.out.println(e + "가 상담 완료하였습니다");
}

 

---> 반복문과 배열의 밀접한 관계 알 수 있음

 

 

배열의 오류와 한계

 

  •  

String[] members = {"a", "b", "c"};

System.out.println(members[3]);

 

=> 존재하지 않는 인덱스 찾으므로 오류

 

 

  •  

String[] classGroup = new String[3];
classGroup[0] = "a";
classGroup[1] = "bb";
classGroup[2] = "ccc";
classGroup[3] = "dddd";

 

배열의 크기가 한정돼있는 한계 -> collection(=container) 이라는 기능이 극복