1 분 소요

배열이란?

  • 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것입니다.
  • 많은 양의 값(데이터)을 다룰때 유용합니다.
  • 배열의 각 요소는 서로 연속적입니다.

image-20240125091735322

new라는 연산자는 뒤에잇는 애들 생성하고 그 아이의 시작 주소를 반납하여 스코어에 반납합니다.

배열은 값을 넣지 않아도 자동으로

배열의 선언과 생성

  • 타입 또는 변수 이름 뒤에 대괄호[]를 붙여서 배열을 선업합니다.

image-20240125093622438

선언하는 것과 값을 넣어주는 것은 다릅니다. 선언하면 기본으로 0 혹은 null값으로 생성됩니다.

  • 배열을 선언한다고 해서 값을 저장할 공간이 생성되는 것이 아니라 배열을 다루는데 필요한 변수가 생성됩니다.

int[] score;    //배열을 선언한다.
score = new int[5];    //배열을 생성한다.(5개의 int값을 저장)

[참고] 위의 두 문장은 int[] score = new int[5]; 와 같이 한 문장으로 줄여서 사용할 수 있습니다.

자료형 기본값
boolean false
char ’\u0000’
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d 또는 0.0
참조형 변수 null

image-20240125093956399

배열의 초기화

  • 생성된 배열에 처음으로 값을 저장하는 것

image-20240125094026501

배열의 활용

  • 배열에 값을 저장하고 읽어옵니다.

score[3] = 100;     //배열 score의 4번째 요소에 100을 저장한다.
int value = score[3];    //배열 score의 4번째 요소에 저장도니 값을 읽어서 value에 저장한다.

  • ‘배열이름.lengh’는 배열의 크기를 알려줍니다.

image-20240125094656661

image-20240125095657955

다차원 배열의 선언과 생성

  • ’[]’의 개수가 차원의 수를 의미합니다.

    선언방법 선언 예시
    타입[][] 변수이름; int[][] score;
    타입 변수이름[][]; int score[][];
    타입[] 변수이름[]; int [] score[];

    int[][] score = new int[5][3];    //5행 2열의 2차원 배열을 생성한다.

image-20240125105449182

가변배열

  • 다차원 배열에서 마지막 차수의 크기를 지정하지 않고 각각 다르게 지정합니다.

  • 각 배열의 열의 갯수가 같지 않는 것을 말합니다.

    image-20240125104950261

    image-20240125114530329image-20240125114601077

배열의 복사

Java에서 배열은 기본 타입이 아니라 참조 타입입니다. 그래서 실제 데이터는 Heap영역에 생성이 되고 변수는 Stack 영역에 생성됩니다.

Stack영역에 생성된 변수는 Heap영역에 생성된 실제 데이터의 위치를 통해 배열의 데이터를 접근합니다.

딥카피에는 arraycopy와 clone을 사용하는 쉬운 방법이 있습니다.

https://developer-talk.tistory.com/710

사용자 입력받기 - 커먼드라인, InputDialog

  • 커맨드라인

    커맨드라인에서 입력된 값들은 문자열 배열에 담겨 main메서드에 전달된다.

  • 입력창(InputDialog)

    Swing패키지의 JOptionPane.showInputDialog()를 사용


image-20240125123750735


ArrayExam9

선생님 풀이

image-20240125162225869

내 풀이

image-20240125162244385

09번

image-20240126093904067


02-02

image-20240126105543278


02-03

선생님이 푼거

image-20240126111552916

내가 푼거

image-20240126111607595


image-20240126124011104

image-20240126143742779


예제를 보고 적당한 배열을 선언한 후 1행의 1열과 3열 5열을 각각 1로 초기화하고 나머지는 모두 0으로 초기화 한 후 2행부터는 바로 위행의 왼쪽과 오른쪽의 값을 더하여 채운 후 출력하는 프로그램을 작성하시오.

image-20240126161531170

image-20240126161842611

두 식은 같은 결과가 나옵니다.

카테고리:

업데이트:

댓글남기기