[자바] 배열 array

2021. 5. 14. 04:06·Archive/Java

 

배열(array)이란?

동일 자료형의 집합을 의미한다. 배열은 인덱스(index)와 인덱스에 대응하는 데이터들로 이루어진 자료 구조로서 배열에는 같은 종류의 데이터들이 순차적으로 저장된다. 하나의 데이터만 가지고 있던 변수와 달리 여러 개의 데이터를 가리키고 있다. 즉 여러 개의 변수를 모아놓은 또 하나의 주머니라고 생각하면 쉽다.

 

(1) 변수 선언, (2) 배열 선언

 

위의 그림에서 (1)의 경우는 10개의 정수 값을 저장하기 위해 10개의 변수를 선언한 경우이다. 서로 다른 변수 이름 10개를 사용하는 어려움이 있으며, sum을 구하는 코드는 길고 지저분하다. 만일 1000개의 정수를 합하는 경우 변수 1000개를 잡아야 하며, sum을 구하는 코드는 너무 길어져 거의 작성이 불가능하게 된다.

(2)의 경우는 10개의 정수 공간을 가진 배열을 선언한 경우이다. 배열을 사용하면 매우 효율적이다. 배열의 이름에 해당하는 변수 i와 10개의 정수형 공간을 할당하는 코드로 간단히 정수형 배열을 생성할 수 있다. 배열을 사용하는 큰 이유 중 하나는 반복문의 활용에 있다. for 문을 사용하여 10개의 정수 값을 모두 더하는 코드 또한 매우 간단히 작성되며 확장될 수 있다.

 

 

배열의 문법(배열 선언 및 생성)

 

- 변수 선언과 거의 비슷하며, 여러 개의 데이터가 모여 있어 '{ }'를 이용한다.

- 배열의 크기는 최초에 한번 설정되면 변경이 불가하다.

- 배열을 객체로 취급한다.

- 배열 선언 → 배열의 메모리 할당(배열 생성) → 배열 이용

 

(1) 변수 선언
int i = 10;

 

(2) 배열 선언 1 // 배열의 크기(length)는 5, 인덱스(순서)는 0~4
int[] iArr = {10, 20, 30, 40, 50}; // 선언과 초기화를 한번에

 

(3) 배열 선언 2
int[] iArr = new int[5]; // 배열 선언과 배열 생성(메모리 할당)
int iArr[] = new int[5];
iArr[0] = 10; // 각 배열방에 값 할당
iArr[1] = 20;
iArr[2] = 30;
iArr[3] = 40;
iArr[4] = 50;

 

(4) 배열 선언 3
int[] iArr; // 배열 변수 선언(생성된 배열을 다루는데 사용될 참조변수 선언)
iArr = new int[5]; // 배열 생성(5개의 int값을 저장할 수 있는 공간 생성)
iArr[0] = 10;
iArr[1] = 20;
iArr[2] = 30;
iArr[3] = 40;
iArr[4] = 50;

 

 

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

[자바 문제] 구구단 (method, do~while문 사용)  (0) 2021.05.14
[자바] 메소드 method  (0) 2021.05.14
[자바] 제어문 - 반복문 - do~while문  (0) 2021.05.13
[자바] 제어문 - 반복문 - while문  (0) 2021.05.13
[자바] 제어문 - 반복문 - for문  (0) 2021.05.12
'Archive/Java' 카테고리의 다른 글
  • [자바 문제] 구구단 (method, do~while문 사용)
  • [자바] 메소드 method
  • [자바] 제어문 - 반복문 - do~while문
  • [자바] 제어문 - 반복문 - while문
J. Son
J. Son
Petit à petit l'oiseau fait son nid.
  • J. Son
    Steady Study Log
    J. Son
  • 전체
    오늘
    어제
    • 분류 전체보기 (170) N
      • Python & SQL (63)
        • Python Basics (21)
        • Python Problems (23)
        • Python Practice (11)
        • MySQL (1)
        • Git & GitHub (7)
      • ML & DL (7) N
      • Projects (5)
        • Project Portfolio (5)
      • AI Camp (4)
        • Camp Reflection (4)
      • Concept Notes (6)
        • Statistics & Stata (4)
        • Mathematics (2)
      • Archive (84)
        • Java (24)
        • R (1)
        • Languages (49)
        • Miscellaneous (10)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • GitHub
    • WikiDocs
  • 공지사항

  • 인기 글

  • 태그

    자바
    머신러닝
    어린왕자 프랑스어
    Python
    파이썬 streamlit
    프랑스어 공부
    Github
    점프투파이썬 연습문제 풀이
    python problem
    GIT
    복합과거
    Le Petit Prince
    python streamlit
    파이썬 크롤링
    streamlit
    MySQL
    불어 공부
    초보자를 위한 파이썬 300제
    machine learning
    파이썬 문제
    불어 관계대명사
    맥 git
    점프투파이썬 연습문제
    파이썬
    어린왕자 불어
    passe compose
    Stata
    프로젝트 오일러
    share.streamlit.io
    객체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J. Son
[자바] 배열 array
상단으로

티스토리툴바