반응형

프로그래밍시 데이터의 변수를 사용할 때 하나의 변수에 하나만 저장할 수 있습니다.
하지만 배열을 사용하면 하나의 변수에 여러 데이터를 넣고 사용할 수 있는데요.
이런 데이터의 집합 배열에 대해 알아보겠습니다.

선언법

//문자 
String[] 변수명 = {"a", "b", "c"}; 
String[] 변수명 = new String[5]; 

//숫자 
int[] 변수명 = {0, 1, 2, 3, 4, 5}; 
int[] 변수명 = new int[5]; 

여러가지 선언법이 있겠지만 위와 같이 쓸때가 가장 대중적입니다.

예제

public class PreTest {
	public static void main(String[] args) {
		
	//문자	
	String[] grade = {"A", "B", "C"};
	String[] grade2 = new String[5];
	
	//숫자
	int[] su = {0, 1, 2, 3, 4, 5};
	int[] su2 = new int[5];
	
	System.out.println(grade[1]);
	System.out.println(grade2[2]);
	
	System.out.println(su[2]);
	System.out.println(su2[3]);
	
	}
}

배열의 값은 변수[방번호]로 나타낼 수 있으며

가장 첫번째 값은 0으로 시작 됩니다.

 

응용

변수명.length()

.length는 배열의 길이를 나타냅니다.

 

즉, for문을 이용하면 배열에 담긴 값을 순차적으로 출력할 수 있습니다.

public class PreTest {
	public static void main(String[] args) {
		
	//문자
	String[] people = {"John", "Smith", "Jain"};
	String[] grade = {"A", "B", "C"};
	
	//loop
	for(int i=0; i<people.length; i++){
		System.out.println(people[i]+"는 학점이 "+grade[i]+ "입니다.");
	}
	
	}
}

length를 이용하여 배열을 길이를 구하고 for문을 이용하여 0번 방부터

순차적으로 값을 출력해 줍니다.

 

주의점

배열은 초기 설정시 값을 저장할 수 있는 범위를 지정할 수 있으나 
지정이 끝나게 되면 범위를 늘리거나 줄일 수 없습니다. 

public class PreTest {
	public static void main(String[] args) {
		
	//문자
	String[] people = {"John", "Smith", "Jain"};
	
	System.out.println(people.length);
	people[3] = "테스트";
	}
}

위의 소스는 3번방이 없으나 값을 지정하는 로직을 쓴 모습입니다.

위의 소스를 구동하면 ArrayIndexOutOfBoundsException이 발생됩니다.

반응형

+ Recent posts