본문 바로가기
Java

자바 배열 (array) 알아보기 from 점프 투 자바

by allwing12 2022. 9. 6.

배열을 들어가기 전 보통 문자열과 숫자열에 대해서 공부를 했었다.

뭐 예를들면 int 또는 String 이런것들에 대해서 공부를 했었는데 물론 int를 통해서

1~10까지의 숫자를 담을 수 있고 if문을 통해서 1~10이라는 숫자 중 홀수만 출력하는 것도

충분히 할 수 있을거다 근데, if문을 사용하지 않으면 홀수만 빼는건 어려운 일이다.그래서 이러한 문제를 해결하기 위해 배열이라는 것이 존재하게 되는데우선 1~10 중 홀수인 숫자 1,3,5,7,9를 배열로 표현하자면 이렇게 표현할 수 있다.

 

 

int[] holsu = {1,3,5,7,9};

배열은 자료형 타입 바로 옆에 [] 기호를 사용해서 표현을 한다.

위 예제와 같이 int 자료형의 배열은 int[] 로 표현되었다.

 

요일의 집합은 다음과 같이 String 배열로 표현 할 수 있다.

 

String[] weeks = {"월","화","수","목","금","토","일",}

 

배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.

 

※ 위에서 알아본 배열은 모두 1차원 배열이다. 2차원,3차원 등의 다차원 배열도 가능하긴 한데

2차원 이상의 배열은 잘 사용하지 않는다고 한다.

 

 

배열의 길이는 고정되어 있다.

 

위에서 본 요일의 집합 예제는 아래의 코드와 같이 고쳐 쓸 수 있다.

 

String[] weeks = new String[7];
weeks[0] = "월";
weeks[1] = "화";
weeks[2] = "수";
weeks[3] = "목";
weeks[4] = "금";
weeks[5] = "토";
weeks[6] = "일";

 

 

배열의 길이를 먼저 설정하고 배열 변수를 먼저 생성한 다음 그 값은 나중에 대입을 하는 방법이다.

단, 위의 예처럼 초기값 없이 배열 변수를 만들 때에는 반드시 길이에 대한 숫자값이 필요하다.

즉, 아래와 같은 코드는 에러가 발생이 된다.

 

String[] weeks = new String[];    // 길이에 대한 숫자값이 없으므로 컴파일 오류가 발생한다.

 

 

배열의 값에 접근하여 출력을 하려면 아래와 같이 코드를 짜면 확인할 수 있다.

 

String[] weeks = {"월","화","수","목","금","토","일"};
System.out.println(weeks[3])

 

이렇게 하게 되면 weeks[3]에 해당하는 값인 "목"을 출력하게 된다.

여기서 알아야하는 건 weeks 배열의 네번째 값이 weeks[3] 이게 되며 자바는 0부터 숫자를 센다.

그렇기 때문에 월요일부터 0,1,2,3,4,5,6 이 되며 일요일을 출력하려면 weeks[6]을 해야한다.

 

 

그리고 배열은 보통 for문과 함께 자주 사용이 된다, for문에 배열이 사용될 경우에는

배열의 길이만큼 for문을 돌리는 것이 중요한데 배열의 길이는 다음과 같이 length를 이용해서 구한다.

 

String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
for (int i=0; i<weeks.length; i++) {
    System.out.println(weeks[i]);
}

weeks 배열을 순서대로 출력하는 코드이며 length를 어떻게 사용했는지를 알아야한다.for 문을 통해서 사용한건데 그냥 쉽게 생각하면 weeks.length 만큼 반복을 시킨거다weeks.length가 weeks 배열의 길이라고 생각하면 된다.

 

댓글