본문 바로가기
Java

자바기초 # 020. Array 배열의 선언과 생성, 초기화 (1)

by Smart Factory in 2020 2021. 7. 28.
728x90
반응형

안녕하세요. 스마트팩토리입니다. 

자바기초 # 020. Array 배열의 선언과 생성, 초기화 (1)에 대해 알아보겠습니다. 자바 기초의 마지막 부분이 아닌가 싶습니다. 물론 마지막이라고는 하나 이부분만 해도 양이 적지 않습니다. 배열을 이해하면 본격적으로 객체지향 프로그램에 접근할 수 있는 기초를 다지게 됩니다. 자바 배열을 다시금 공부하다 보니 나름 실력이 쌓이는 듯한 느낌입니다. 

1. 배열이란?

가. 배열이란

-같은  타입(자료형)의 여러 변수를 하나의 집합(묶음)으로 처리하는 자료구조이다.
-배열은 서로 연속적이며 인덱스를 가진다. 
-많은 양의 데이터를 다룰 수 있다.

나. 배열의 선언과 형식

(1) 데이터 타입[] 변수명;  --> 선언
변수명=new 데이터 타입[배열수]; --->초기화

(2) 데이터 타입[] 변수명 = new 데이터 타입[배열수]--> 선언과 초기화

ex) int[] arr;
  arr=new int[2]

   int[] arr=new int[2]

  (1)과 (2) 는 동일한 것으로 코드를 단순화한 것이 (2) 번입니다.
  선언과 초기화에 대한 예를 통해 볼때 변수의 선언과 초기화와 비교해 보면 이해하는데 도움이 됩니다.  
  배열은 배열의 값이 초기화할때는 0으로 됩니다. 

 

int[] num; 은 배열을 선언하여 메모리 공간을 잡을 예정입니다. 
num=new int[3] 선언된 배열 변수에 메모리 공간 3개가 생성된 것으로 기본 값이 없으면 0으로 초기화 됩니다. 
3개의 배열값이 순차적으로 int[0], int[1] , int[2] 로 [ 숫자 ] 에서  숫자는 인덱스 번호입니다.  처음 숫자가 1이 아닌 0부터 시작입니다. 

출력할때 배열 변수를 출력하면 그의 주소값이 출력되고 , 배열의 실제값을 출력하기 위해서는 배열 인덱스까지 다 작성해야 합니다. 

package Arrays;
public class Ex02_01Array {
public static void main(String[] args) {
  
  int[] num;
  num=new int[3];
  
 System.out.println(num);  --> 배열 num의 주소 출력
 System.out.println(num[0]);-->배열 인덱스 0번값 출력
 System.out.println(num[1]);-->배열 인덱스 1번값 출력
 System.out.println(num[2]);--->배열 인덱스 2번값 출력

 int[] num_m=new int[2];  

 System.out.println(num_m);--> 배열 num_m의 주소 출력
 System.out.println(num_m[0]);-->배열 num_m[0]번값 출력
 System.out.println(num_m[1]);-->배열 num_m[1]번값 출력
}
}

다. 배열 인덱스의 실제값 변경 및 수정 

배열 변수 num을 선언 및 생성 하고 값을 넣어주지 않으면 0으로 초기화가 됩니다. 단 배열의 인덱스는 있어야 합니다.
배열 공간이 없으면 초기화가 안될것이니까요. 

선언된 배열의 수 만큼 값을 넣어주면 되고, 그보다 적은 값을 넣어주면 남은 공간으 0으로 됩니다. 

일반 변수 처럼 num[0]=10 num[1]=100으로 변경하면 각각 배열값을 변경할 수 있습니다. 

배열은 참조변수이기 때문에 배열 변수를 출력하면 주소값이 나오고,  배열변수[인덱스번호]까지 있어서 해당 메모리에 있는 실제값을 볼 수 있습니다. 

package Arrays;
public class Ex02_03Array {
public static void main(String[] args) {
  
 int[] num=new int[2];  

 num[0]=10;
 num[1]=100;  
 
 System.out.println(num);--> 배열 주소값 출력
 System.out.println(num[0]);--> 배열의 인덱스 0번에 있는 값 출력
 System.out.println(num[1]);--> 배열의 인덱스 1번에 있는 값 출력
}
}
728x90
반응형

댓글