녕의 학습 기록

[Java] 배열 본문

Dev/Java

[Java] 배열

kjyyjk 2022. 7. 2. 18:28

변수는 한 개의 데이터만 저장할 수 있다. 그렇기 때문에 만약 변수 100개를 선언하고 각 변수의 합을 구해야 한다면,,

 

정말 귀찮은 일임이 분명하다.

 

이럴 때 유용하게 사용할 수 있는 것이 바로 배열이다.

 

배열이란 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스를 부여해 놓은 자료구조이다.

 

배열을 사용하기 위해서느는 우선 배열 변수를 선언해줘야한다.

 

"  타입 [ ] 변수 ;  "      또는  "   타입  변수 [  ]  ;  "

 

대괄호 [ ]는 배열 변수를 선언하는 기호로, 타입 뒤나 변수 뒤에 붙을 수 있다.

 

타입은 배열에 저장될 데이터 타입을 말한다.

int[] intArray;

String strArray[];

 

이러한 배열 변수는 참조 변수에 속한다.

 

다른 객체들과 마찬가지로 배열도 힙 영역에 생성되고, 배열 변수가 힙 영역의 배열 객체를 참조한다.

 

 

만약 배열에 저장할 값의 목록을 가지고 있다면, 다음의 방법으로 배열 객체를 만들 수 있다.

int[] intArray = { 1, 4, 2, 3, 99};

중괄호 { }는 안에 주어진 값들을 가지는 배열을 힙에 생성, 배열 객체의 번지수를 리턴해준다.

 

그리고 이 번지수를 int 타입의 intArray 배열 변수가 참조하며 배열이 생성된다.

 

intArray 변수가 힙 영역 내 int배열 객체의 주소를 가진다.

 

 

 

배열은 각 데이터에 인덱스를 부여해놓은 자료구조라고 말했듯이, 배열 내에는 index가 구분되어 있다.

 

각 인덱스는 각 항목의 데이터를 읽거나 저장하는데 사용되며, 배열 이름 옆에 대괄호 [ ]에 기입한다.

 

인덱스 번호는 파이썬의 리스트 번호와 똑같이 0부터 시작한다.

 

String[] names = { "홍길동" , "이순신", "장보고", "유비"};

//names[0] --> "홍길동"
//names[2] --> "장보고"
//names[3] --> "유비"

배열의 index를 for문으로 잘 이용하면 여러번 반복해야할 작업을 간단하게 처리할 수 있다.

 

예를 들면 학생 30명의 성적이 담긴 scores 배열을 가지고 성적 평균을 구해야 할 때이다.

int sum=0;	//성적의 합 sum변수 초기화

for (int i=0; i < 30; i++){	  //학생이 30명이니 index 번호는 0~29이다.
	sum += scores[i];	//scores배열 각 인덱스의 값을 변수 sum에 더해준다.
}

int avg = sum / 30 ;  	//평균값 도출

 

 

배열의 길이는 배열의 legth 필드를 이용하여 구할 수 있다.

 

int[] intArray = {10, 20, 30} ;

int num = intArray.length ;

intArray 배열이 3개의 값을 가지고 있으므로 길이는 3, num변수에 3이 저장된다.

 

이를 이용하면 위의 상황에 학생의 명수를 몰라도 for문을 이용할 수 있다.

for (int i=0; i < intArray.length ; i++){
	//내용
}

 

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

[Java] 객체 생성과 필드  (0) 2022.07.04
[Java] 객체 지향 프로그래밍의 특징  (0) 2022.07.04
[Java] 객체 / 클래스 (0)  (0) 2022.06.29
[Java] for 반복문  (0) 2022.06.27
[Java] Switch 조건문  (0) 2022.06.27