본문 바로가기
Programing/JAVA (& 혼공자Java)

자바(Java) - 배열1

by a.k.a DUKI 2020. 9. 21.
728x90
반응형

변수는 1개의 데이터만 저장 할 수 있다.

하지만, 배열을 사용하게 되면, 많은 양의 데이터를 적은 코드로 손쉽게 처리 할 수 있다.

 

배열이란, 

  • 같은 타입의 데이터만 저장할 수 있다.
    • int 배열은 int 값만 저장 가능
    • String배열은 문자열만 저장 가능
  • 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료 구조
  • 배열의 각 인덱스는 각 항목의 데이터를 읽거나 저장하는데 사용되며
  • 배열 이름 옆에 대괄호[]에 기입 된다.
  • 한 번 생성된 배열은 길이르르 늘리거나 줄일 수 없다.
  • 인덱스는 0부터 시작 한다.

 

배열 변수 선언

배열의 변수 선은은 아래와 같이 타입[]변수; 또는 타입 변수[]; 로 선언하여 사용한다.

// 형식 1
// 타입[] 변수;
int[] intArray;
double[] doubleArray;
String[] strArray;

// 형식 2
// 타입 변수[];
int intArray[];
double doubleArray[];
String strArray[];

// 타입은 배열에 저장될 데이터의 타입 이다.

 

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

배열도 객체이므로 힙 여역에 생성되고, 배열 변수는 힙영영의 배열 객체를 참조 한다.

null 값으로 초기화 가능하다.

타입[] 변수 = null;

 

 

배열 생성

값 목록으로 배열 생성하기

값의 목록이 있다면 아래와 같이 배열 객체를 생성할 수 있다.

타입[] 변수 = {값0, 값1, 값2, ...}; // 마지막에 ; 쓴다.

String[] names = {"홍길동", "김길동", "이길동"};

// 이렇게 생성된 배열은
// 홍길동 은 names[0] 에
// 김길동 은 names[1] 에
// 이길동 은 names[2] 에 읽어 올 수 있다.

//대입된 값을 변경하려면, 대입연산자를 이용하면 된다.
names[1] = "박길동";

 

배열 예시)

int[] scores = { 70, 85, 90 };

System.out.println("scores[0]: " + scores[0]);
System.out.println("scores[1]: " + scores[1]);
System.out.println("scores[2]: " + scores[2]);

System.out.println();
		
int sum = 0;
for (int i = 0; i < 3; i++) {
	sum += scores[i];
}
System.out.println("총합: " + sum);

double avg = (double) sum / 3;
System.out.println("평균: " + avg);

위 코드의 실행 값

 

배열 변수를 이미 선언한 후에는 다른 실행문에서 중괄호를 사용한 배열 생성이 허용 되지 않는다.

타입[] 변수;
변수 = {값0, 값1, 값2, ...}; -> 컴파일 에러가 난다.

아래와 같이 new연산자를 이용해서 생성해야한다.
String[] names = null;
names = new String[]{""홍길동", "김길동", "이길동"};

 

배열 예시2)

 

 

new 연산자로 배열 생성하기

현재 값의 목록을 같고 있지 않지만, 향후 값들을 저장할 배열을 미리 만들때 new 연산자로 배열 객체를 생성할 수 있다.

타입[] 변수 = new 타입[길이];
//길이는 배열이 저장할 수 있는 값의 개수 이다.

//이미 배열 변수가 선언된 경우에도 new연산자로 배열을 생성할 수 있다.
타입[] 변수 = null;
변수 = new 타입[길이];


아래의의 값은 int 배열의 길이만 선언 했기때문에 값은 0으로 초기화 되어있다.

//길이가 5인 int[] 배열
int[] intArray = new int[5];

아래의의 값은 String 배열의 길이만 선언 했기때문에 값은 null으로 초기화 되어있다.

//길이가 10인 String배열
String[] str = new String[10];

 

아래 사진은 타입별로 배열의 초기값이다.

혼공자 유툽 참고

 

 

배열 예시3) int 타입 배열 생성

 

배열 예시4) double타입 배열 생성

 

배열 예시5) String타입 배열 생성

 

 

 

 

 

※용어 정리

  • 배열: 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스(index)를 부여해놓은 자료 구조.
  • 인덱스: 배열 항목에 붙인 번호. 0번 부터 시작하며 (배열의 길이-1) 까지의 범위를 갖는다.

 

 

본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형

'Programing > JAVA (& 혼공자Java)' 카테고리의 다른 글

자바(Java) - 배열3  (0) 2020.09.22
자바(Java) - 배열2  (0) 2020.09.22
자바(Java) - 참조 타입과 참조 변수2  (0) 2020.09.20
자바(Java) - 참조 타입과 참조 변수1  (0) 2020.09.19
자바(Java) - ★찍기2  (0) 2020.09.19

댓글