배열 (array) > 학습자료 | IOTsw_u2 U2 Project
학습자료

JAVA 배열 (array)

본문

배열(array)

 

자 이제 클래스의 구성요소의 마지막 배열이다.


배열을 왜 사용하나??

좋은점은 다음과 같습니다.


1. 메모리 낭비를 줄일 수 있습니다

2.자료형이 같은 여러개의 변수를 하나로 묶을 수 있습니다.

3.변수관리가 쉽다.

4.코딩이 쉽고 간략하게 할 수 있다.

5.배열을 선언하면 초기값이 비트가 0으로 채워줘서 실수를 덜하게 된다.

6.자료형이 char 인경우 배열에 값이 지정되지 않으면 출려되지 않는다. 그러나 에러는 생기지 않는다. 단 정지 되 버리는것 같다.



배열의 선언방법


선언, 할당, 초기화


int A[];  //먼저 배열을 선언 한 후  int[] A; 이런식으로 

A= new int[10] ; // 나중에 배열으 크기를 할당 한다. 반드시 배열의 크기를 지정 해야 된다.

A = new int[] { 1,2,1,4,2,5 }; // 이런식으로 선언과 동시에 초기값을 지정할 수 있다. 자동으로 배열으 크기가 할당 된다.


//약식배열 for 문

for (int i : a) {

   System.out.print(i) ;

}



또다른 방법

int      []   A = new int  [] ;

정수형  배열 이름 = 새로운 정수 배열 {값들}

 

정수로 배열을 만들고 이름은 개똥이다 = 신규로 배열을 선언해라



기본적으로 변수를 선언하고 값이 없이 출력하면 에러가 생긴다

그러나 배열로 할당하면 기본적으로 빈값(숫자0)이 들어 감으로 출력하더라도 에러가 생기지 않는다.

 


배열은 함수중에 하나이지만 String과 배열은 조금 특이한 함수이기도 하며

구성요소중 하나라고 생각될만큼 많이 쓰이기도 한다.


그럼 배열이란 무엇일까?

배열은 같은형태의 많은 변수를 만들어내는 명령어 라고 생각하면된다.



String [ ] 이름 = new string[5] ;

    문자열의         배열        kim         = 메모리를      문자열로 할당하는데 5개 이다.


배열을 서랍장이라고 대략적인 개념으로만 이해를 하고 아래 그림을 보자. 

(서랍장이야기는 따지고 보면 정확한 개념은 아니지만 잘 이해 안가는 사람들은

 배열이란 그냥 상자가 쌓여서 서랍장을 만들었다라고만 개념을 잡아도 된다.)


2011314C4E78F21412D483


자 위 그림은 배열선언과 생성의 기본식이다.


배열의 선언은 아주 간단하다. 원하는 타입의 변수를 선언할때 

변수 또는 타입뒤에 배열임을 의미하는 "대괄호[ ]" 를 붙히면된다.

 


배열의 선언은 값을 저장할 공간을 만든것이 아니라

값을 저장할곳을 가르키는 주소값을 저장할 공간을 만드는것이다.

값을 저장할곳을 만드는것을 배열의 생성이라고 한다.


위에서 나온 new를 다시한번 기억하기 바란다.

new는 메모리공간을 확보하라는 뜻이다.

무엇을 확보할지는 뒤에 붙는 명령마다 다르겠지만 여기서는 배열 int[5]를 
저장할수 있는 공간을 확보하라는 뜻이 된다.


 

자 위그림을 보면 배열은 참조변수라는것을 알수 있다.

참조변수는 주소값을 저장할수 있는 변수이다.
주소만 저장하면 되기때문에 
크기는 항상 4byte이다. 

즉 배열안에 모든 값들이 들어가는것이 아니라

배열 자체는 그 값들이 들어있는 주소만 나타낼 뿐이다.

값을 저장할 공간은 new명령으로 따로 생성하는것이다.


이렇게 배열을 이용하여 변수를 생성하면 변수의 이름들이 자동으로 만들어지는데

그 시작은 0 부터 시작한다.


자 이제 배열을 만들었으니 배열을 초기화 시켜보자.

배열을 초기화 하는것은 별거 없다.

위에서 "배열이름[x]"이란 이름을가진 변수를 5개 생성하였으니

배열이름[x] = 값(X);

과 같은식으로 초기화 한다.

자 배열이름이라고 말한다고 헷갈려 하지말자 결국 생성된 변수의 이름일 뿐이다.


a[0] = 5;


이렇게 명령을 내리면 위의 그림에서 첫번째 a[0]의 이름을 가진 변수에 값 5가 저장 되는것이다.




다차원 배열


변수들의 집합체는 1차원 배열

1차원의 집합체는 2차원 배열


int [ ] [ ] B = new int [1차원배열의 갯수] [1차원배열으크기

참고로 다차원 배열에서 앞에값만 지정하면 출력은 되지만 이상한 값이 나온다.


int [][] B = new int[][] { {1,2,3}  ,  {4,5,6} }; //다차원배열의 선언과 동시에 값 할당

 

//2차원 배열 약식 for 문

for (int[] i : a) {

    for (int[] y : i) {

       System.out.print(y) ;

    }

 

}










댓글목록

학습자료 목록

Total 91건 2 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기