Languages/Java

[HUFS/컴퓨터 프로그래밍] #8 배열

성중 2021. 3. 3. 20:06

배열은 동일한 성격의 변수들을 묶어주는 개념이다.

하나의 배열 안에서 번호를 붙여 각 변수를 구분한다!

 

 

이러한 배열은 자료 형이 같은 자료들을 순차적으로 관리할 때 사용한다!

 

1. 자료형[ ] 배열이름 = new 자료형[개수];

 

2. 자료형 배열이름[ ] = new 자료형[개수];

 

3. 자료형 [ ] 배열이름; (or 자료형 배열이름[ ];)

배열이름 = new 자료형[개수];


변수 선언과 배열 선언의 차이점!

 

 

*배열 4개를 선언한다면 첨자는 1~4가 아니라 0~3을 사용!

 

#배열 사용하기!
[]: 인덱스/ 첨자 연산자

배열의 각 요소에 값을 넣거나, 배열 요소에 있는 값을 가져올 때 사용

[i]: i번째 요소의 위치를 찾아 해당 위치에 값을 넣거나, 저장된 값을 가져올 때 사용

 

 

배열을 이용한 덧셈 계산기 예시)

 

 

#배열의 활용

for문과 배열을 함께 사용하면?

 

 

for문과 배열을 함께 사용한 예시)

 

 

순차적으로 하나씩 증가되며 입력

 

배열은 선언과 동시에 초기화o

초기화 해주면 선언에 개수 굳이 안 써줘도 초기화 값들 개수로 알아서 인식됨

반대로 선언만하고 초기화 하지 않은 경우는 0(정수), 0.0(실수), null(객체)로 초기화

 

배열을 초기화하는 다양한 방법들 예시)

 

 

#배열 요소의 개수

배열요소개수 = 배열이름.length;

ex) int aa[ ] = new int[4];의 배열의 크기는?

    -> aa.length; => 4

 

배열의 유효한 값 개수와 선언할 때의 배열의 개수가 같지 않아도 됨

 

유효한 값까지만 출력시키는 프로그램 예시)

 

 

#문자 저장 배열

char[ ]로 선언

 

문자 자료형 배열 예시)

 

 

 

문자의 강제 타입 변환으로 아스키값이 출력됨


# 2차원 배열

1차원 배열을 모아서 평면을 만든다! (x, y축의 개념) (가로-행(row)/ 세로-열(col))

 

 

2차원 배열의 선언

 

 

-> 배열의 모든 요소를 쓸 때는 각 행을 기준으로 열값들을 입력

 

2차원 배열의 선언, 초기화, 출력 예시)

 

 

 

2차원 배열과 중첩 for문의 결합 예시)

배열의 원하는 부분까지 출력

 

 

2차원 배열을 선언과 동시에 초기화도 물론 가능하다!

 

#2차원 배열 크기의 동적 할당

사용자의 입력에 따라 배열의 크기를 지정할 수 있다!

 

 


배열의 활용: 스택

스택이란? / 스택, top, push, pop의 개념

 

 

# 배열로 스택 만들기

배열을 만들면 그 배열이 터널(스택)이 됨

 

 

여기에 하나의 데이터를 push한다면? -> top이 이동

 

 

데이터를 더 push 하면? -> top이 계속 이동

 

 

하나만 다시 빼면? (뒤에서부터 빠짐) -> top이 다시 이동

 

 

배열을 활용해 이 과정을 코드로 구현해 보자 (ppt 참조)

입력 값에 따라 배열 스택에 값을 push하고 pop하는 프로그램

(Scanner, Swith~case, While 활용!)