본문 바로가기

DEVELOPER/Java

배열(array)

반응형

배열이란?


  · 동일한 자료형의 순차적 자료 구조

  · 인덱스 연산자 [ ] 를 이용하여 빠를 참조 가능

            → (배열에서 인덱스 연산자를 쓸 때, 위치는 0부터 시작)

               배열의 맨끝 위치는 n-1에 해당   배열의 크기는 10이라면 위치는 0~9까지

  · 물리적 위치와 논리적 위치가 동일

  · 배열의 순서는 0부터 시작

  ·자바에서는 객체 배열을 구현한 ArrayList를 많이 활용

 

배열 선언과 초기화


배열 선언하기

int[ ] arr1 = new int[10];

int arr2[ ] = new int[10];

 

배열 초기화하기

  배열은 선언과 동시에 자료형에 따라 초기화 됨 (정수는 0, 실수는 0.0, 객체는 null)

  필요에 따라 초기값을 지정할 수 있음

① int[ ] numbers = new int[ ] (10, 20, 30); // 개수 생략

② int[ ] numbers = (10, 20, 30); // new int[ ] 생략 가능

③ int[ ] ids;
    ids = new int[ ] (10, 20, 30); //선언후 배열을 생성하는 경우는 new int[ ] 생략 불가

 

배열 사용하기

· [ ] 인덱스 연산자 활용 - 배열 요소가 저장된 메모리의 위치를 연산하여 찾아 줌

· 배열을 이용하여 1~10까지의 합을 구하기


① 직접 초기화 후

//직접 초기화 방법
int[] arr = new int[] {1,2,3,4,5,6,7,8,9,10};
int total = 0;

//enhanced for문 ==> 처음부터 끝까지 순회
for(int num : arr) {
total += num;
}

System.out.println(total); // 55

 

② for문을 활용하여 구하기

int[] arr = new int[10]; //크기가 10
int total = 0;

for(int i =0, num=1; i < arr.length; i++) {
arr[i] = num++;
}

for( int num : arr) {

total += num;
}

System.out.println(total); /55

 


· 문자도 배열이 가능

알파벳[A-Z]을 담은 배열 출력
char[] alphabets = new char[26];
char ch = 'A';

for(int i = 0; i<alphabets.length; i++) {

alphabets[i] = ch++; //문자도 결국 정수 64, 65, 66 ...
}

for(char alpha : alphabets) {
System.out.println( alpha + "," + (int)alpha);
}

 

 


 

향상된 for문 사용하기

for( 변수 : 배열 ) { 

}

배열의 n개 요소를 0부터 n-1까지 순차적으로 순회할 때 간단하게 사용

 

반응형

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

2차원 배열  (0) 2021.04.23
객체 배열  (0) 2021.04.23
static 응용 - 싱글톤 패턴(singleton pattern)  (0) 2021.04.22
변수의 유효 범위와 메모리  (0) 2021.04.22
Static 변수  (2) 2021.04.22