본문 바로가기
프로그램이야기/JAVA

[자바]9-1. 배열(1차원 배열)

by Doinge 2020. 2. 8.
728x90
반응형

안녕하세요 Doing입니다. 오늘은 배열(Array)에 대해서 알아보도록 하겠습니다.

요새 미세먼지가 엄청나죠 ㅠㅠ 외출하실 때 마스크는 꼭 착용하시길 바래요 ㅠ

배열이란?

=> 같은 자료형으로 묶어놓은 집합

=> 연관된 데이터를 모아서 관리하기 위해 사용하는 데이터 타입.

예를 들면 기존에 변수 int a = 6;은 a라는 int형의 데이터 타입을 가지고 있는 변수에 6이라는 값을 넣었습니다.

a라는 것에 6을 넣은 것입니다. 코딩을 할 때 a라는 변수에 하나의 데이터가 아닌 여러 개를 넣어야 할 때가 있습니다. 그런 경우에 연관되어 있는 여러 개의 데이터를 하나의 변수에 담아서 쉽게 관리할 수 있게 도와주는 것이 배열입니다.

배열을 생성하는 방법을 알아보겠습니다.

※선언 형태: 자료형[] 변수명={원소 0, 원소 1, ....};

 

int[] array1={0,1,2,3};

배열을 선언한 후 값을 넣어줬습니다. 값과 값 사이에는,로 구분해 줍니다.

{0,1,2,3}란 배열을 정의해 array1이란 변수에 넣은 것입니다.

array1에 담긴 배열은 int형의 데이터 타입에 형식을 가진 데이터들의 모임입니다.

array1 이란 변수에는 int형으로 구성된 배열이 담긴다고 할 수 있습니다.

문자형 배열도 선언해 보겠습니다.

 

String[] array2={"장난감","자동차","비행기"};

이렇게 되겠죠? array2란 변수 안에는 문자형으로 구성된 배열이 담겨있습니다.

문자이기 때문에 싸이 따옴표(" ")는 잊으면 안 됩니다.

이제는 배열에 저장된 값을 꺼내보도록 하겠습니다.

이클립스에서 출력할 때는 print 함수를 썼죠?

예제를 보겠습니다.

7~10행을 보시면 각각의 원소를 뽑아서 출력해 줍니다.

여기서 array1[0]~[3]이 보이시죠? 컴퓨터는 0부터 시작하기 때문에 배열의 원소도 0부터 시작합니다.

0~3이란 숫자는 index(색인)라고 하는데 0번이라는 주소에 위치하는 것은 0이고, 1번에 위치하는 것은 1이라고 알려주는 역할을 합니다.

그리고 array1{0,1,2,3}에 담겨 있는 각각의 값들을 원소라고 합니다.

출력 결과입니다.

이전에 만든 문자형 배열의 값도 꺼내보도록 하겠습니다.

출력 결과입니다.

이번에는 배열을 정의하는 다른 방법과 배열에 값을 저장하는 방법을 보겠습니다.

 

String[] array2={"장난감","자동차","비행기"};

기존에 만든 배열을 다른 방식으로 정의해 보겠습니다.

String[] array2 = new String[3];

new String은 문자열을 만드는 방법입니다. 새로운 문자열 데이터 타입의 배열이기 때문에 String 뒤에 [ ]가 붙었고

대괄호 안에 3은 3개의 원소로 이루어져 있다는 것입니다.

이제 array2라는 변수로 문자열 배열이 하나 만들어졌고 3개의 값이 들어갈 수 있습니다.

만약 3개보다 더 많이 배열에 담으려 하면 에러가 발생하게 됩니다.

새로 만든 배열의 원소를 뽑아볼까요? 값이 없기 때문에 아래와 같은 결과가 발생됩니다.

그럼 새로 만든 배열에 값을 넣어보도록 하겠습니다.

20~22행을 보시면 array2란 배열 0,1,2번 인덱스에 값을 넣어 줬습니다.

24~26행은 출력을 하는 부분입니다.

결과입니다.

위에 했던 방식은 한 번에 배열을 정의하는 과정이었다면 방금 한 방식은 새로운 배열을 선언 후 각각 값을 넣어 주는 방법입니다.

이번엔 배열의 길이(크기)를 확인하는 법을 보겠습니다.

27행을 보시면 array2.length라는 것이 보입니다. array2변수에 담겨있는 값이 몇 개인가가 아니고 변수에 담겨 있는 배열은 몇 개의 값이 들어가느냐 하는 걸 의미합니다. 결과입니다.

String[3]에 들어간 숫자와 같죠? 3개의 값이 들어간다는 것입니다.

0번째 문자

1번째 문자

2번째 문자

원소

index

0

1

2

array2라는 변수에 담겨 있는 배열의 구조는

index 0 - 0번째 문자

index 1 - 1번째 문자

index 2 - 2번째 문자라는 값이 담겨 있고 그 각각의 값을 원소라고 합니다.

원소를 찾을 수 있는 식별자를 index라고 합니다. 그리고 array2라는 배열이 가질 수 있는 최대의 데이터 크기는

length라는 것을 이용해 array2.legth로 3이란 것을 알 수 있습니다.

다음은 배열의 값을 한 번에 뽑아보는 방법을 알아보겠습니다.

배열과 반복문을 이용해 보도록 하겠습니다.

29행에서 int형 배열 array3을 선언하고 값을 정의했습니다.

31~33행은 반복문을 사용해 배열의 원소를 출력하는 것을 보여줍니다.

31행 반복문은 int i란 변수는 0부터 array3배열의 크기까지( 여기서는 5개겠죠?) 1씩 증가입니다.

아래 결과입니다.

5개의 원소들이 차례대로 출력되는 모습입니다.

다른 방법입니다.

int형 배열 array4선언 후 배열의 크기를 10으로 주고

array4의 각 원소들을 반복문에서 i가 증가할 때마다 넣어주고 있습니다.

결과입니다.

이번 시간에는 배열에 대해 알아봤습니다. 다음 시간에는 2차원 배열에 대해 알아보도록 하겠습니다.

점점 더 어려워지네요 ㅠㅠ 그럼 다음에 뵐게요

728x90
반응형

댓글