Language/Java

[ Java ] 배열

곽수진 2021. 9. 3. 17:18
반응형

배열

→ 연관된 정보를 그룹핑 하는데 사용함

 

package sujin.array;

public class DefineDemo {

	public static void main(String[] args) {
		
		String[] classGroup = {"최진혁", "최유빈", "한이람", "이고잉"};
	}
}

▶️ String[] : classGroup에 담을 배열이 문자열로 구성된 배열임을 의미함

 

 

package sujin.array;

public class GetDemo {

	public static void main(String[] args) {
		String[] classGroup = {"최진혁", "최유빈", "한이람", "이고잉"};
		System.out.println(classGroup[0]);
		System.out.println(classGroup[1]);
		System.out.println(classGroup[2]);
		System.out.println(classGroup[3]);
	}

}

 

 

결과값 출력 모습

▶️ 변수에 속한 원소들(element)을 출력할 때는 index 번호를 알아야 하는데, 이는 0부터 순서대로 이어짐

 

 

package sujin.array;

public class LengthDemo {

	public static void main(String[] args) {
		String[] classGroup = new String[4];
		classGroup[0] = "최진혁";
		System.out.println(classGroup.length);
		classGroup[1] = "최유빈";
		System.out.println(classGroup.length);
		classGroup[2] = "한이람";
		System.out.println(classGroup.length);
		classGroup[3] = "이고잉";
		System.out.println(classGroup.length);
	}
}

 

String[] classGroup = new String[4];

▶️ 배열을 정의하기 위해서 new 사용함

▶️ 데이터 배열에 4개의 원소로 이루어져 있음을 의미함

 

 

System.out.println(classGroup.length);

▶️ 배열이 담을 수 있는 원소의 갯수를 출력하기 위해 사용함

▶️ 현재 몇 개의 원소가 담겨있는지가 아니라 총 몇 개를 수용할 수 있는지를 출력함

 

 

결과값 출력 모습

▶️ 배열에 순서대로 원소가 하나씩 들어가기 때문에 1, 2, 3, 4가 출력될거라고 오해하지만 총 4개의 원소를 수용할 수 있기 때문에 결과값은 4만 출력됨

 

 

반복문과 배열의 조화

 

package sujin.array;

public class ArrayLoopDemo {

	public static void main(String[] args) {
		String[] members = {"최진혁", "최유빈", "한이랑"};
		for(int i=0; i<members.length; i++) {
			String member = members[i];
			System.out.println(member + "이 상담을 받았습니다");
		}
	}
}

 

for(int i=0; i<members.length; i++){
    String member = members[i];
    System.out.println(member+"이 상담을 받았습니다");
}

▶️ members.length : members 문자열 배열에 속해있는 원소의 숫자를 의미하므로 3임

→ i는 0부터 3보다 작을 때까지 하나씩 늘려가며 반복됨

▶️ member 문자열은 members[i]이므로 members[0]부터 members[2]까지 순서대로 진행

 

 

결과값 출력 모습

▶️ members[0]부터 [2]까지 순서대로 해당하는 최진혁, 최유빈, 한이랑 순서대로 결과값이 출력됨

 

 

for-each

 

package sujin.array;

public class ForeachDemo {

	public static void main(String[] args) {
		String[] members = {"최진혁", "최유빈", "한이람"};
		for (String e : members) {
			System.out.println(e+"이 상담을 받았습니다");
		}
	}
}

▶️반복문이 작동할 때마다 members라는 변수에서 원소를 하나씩 꺼내서 e 변수에 넣어 값을 처리하게 됨

 

 

결과값 출력 프로그램

 

 

★ 자주 발생하는 오류 ★

String[] members = {"최진혁", "최유빈", "한이랑"};
System.out.println(members[3]);

▶️ ArrayIndexOutOfBoundsException: 3 : 존재하지 않는 인덱스를 출력하려고 했을 때 발생한 오류

 

 

String[] members = new String[3];
members[0] = "최진혁";
members[1] = "최유빈";
members[2] = "한이랑";
members[3] = "이고잉";

▶️ members라는 문자열 배열에는 원소가 3개임을 정의했지만 더 많은 데이터를 추가하려고 하기 때문에 발생한 오류

반응형

'Language > Java' 카테고리의 다른 글

[ Java ] 입력과 출력  (0) 2021.09.03
[ Java ] 메소드  (0) 2021.09.03
[ Java ] 반복문  (0) 2021.09.03
[ Java ] 논리 연산자  (0) 2021.09.03
[ Java ] 조건문  (0) 2021.09.03