본문 바로가기
Backend/Java

Java 15. 배열

by 샴페인맛있다 2024. 5. 8.

배열이란?

같은 타입의 여러 변수를 하나의 묶음으로 다루는 것.


배열의 선언과 생성

타입[] 변수이름;			//배열의 선언 (배열을 다루기위한 참조변수 선언)
변수이름 = new 타입[길이] 	//배열을 생성 (실제 저장공간을 생성)
타입[]변수이름 = new 타입[길이]	//배열의 선언과 생성


int[] score;			//int타입을 다루기 위한 참조변수 score 선언
score = new int[5];		//int타입의 값 5개를 저장할 수 있는 배열 생성
int[] score = new int[5]	//길이가 5인 int배열

 

new 연산자로 배열을 처음 생성할 경우 배열은 자동적으로 기본값으로 초기화됨. 

 

int의 초기값은 0이므로 0으로 초기화 되고,

String의 초기값은 null이므로 null로 초기화됨.

 

참고. 타입별 배열의 초기값 

Credit : https://hongong.hanbit.co.kr/java-%EC%9E%90%EB%B0%94-%EB%B0%B0%EC%97%B4array-%EC%84%A0%EC%96%B8%ED%95%98%EA%B3%A0-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0/


배열의 인덱스

int[] num = new int[6]; 이라는 배열을 만들었을 때,  (※아래 그림 참고)

저장공간 6개가 생기며, 각 저장공간을 배열의 요소(element)라고 함.

이 배열의 요소마다 붙여진 일련번호를 인덱스(index)라고함.

인덱스는 0부터 시작함. 

⇒ 이 배열에서 인덱스의 범위는 0 ~ 5가 됨. 

    인덱스의 범위 : 0 ~ ( 배열의 길이 - 1 )

 

배열이름[인덱스] 형식으로 배열의 요소들을 구별할 수 있음.

⇒ num[0], num[1], num[2], num[3], num[4], num[5] 

Credit : https://www.shiksha.com/online-courses/articles/implementing-array-in-java/


배열의 초기화 & 배열의 길이 & for문을 통한 배열의 출력

배열은 생성과 동시에 자동적으로 기본값으로 초기화되므로,

사용하기 전에 따로 초기화를 해주지 않아도 되지만,

원하는 값을 저장하려면 각 요소마다 값을 지정해주어야함. 

 

String[] users = new String[5];이라는 배열을 만들었을 때, (※아래 그림 참고)

배열의 인덱스 범위는 0~4까지로 users[0]~users[4]로 표현되고

users[index] = "저장하려는 값"; 의 형태로 각각의 요소안에 값을 저장할 수 있음.

 

String[] users = new String[5];

users[0] = “hailey”;

users[1] = “tomy”;

users[2] = “paul”;

users[3] = “daisy”;

users[4] = “michel”;

 

⇒ 위의 내용을 아래의 두가지 방법으로도 간단히 할 수 있음.

 ① String[] users = {"hailey","tomy","paul", "daisy", "michel"}

 ② String[] users = new String[]{"hailey","tomy","paul", "daisy", "michel"};
     

 

이 배열의 길이(배열의 갯수)는 5.

배열의 길이는 '배열이름.length'로 표현가능.

위의 배열을 for문을 이용하여 출력한 결과가 아래의 예제.

users.length를 이용하면

String[] users = new String[5]; 에서,

배열의 길이 '5' 의 값을 다른 것으로 바꾸더라도,

for문의 내용은 바꾸지 않아도 되서 편리함.


'Arrays.toString(배열이름)' 메서드를 통한 배열의 출력

배열의 모든 요소를

'[첫번째 요소,두번째 요소,...]'와 같은 형식의

문자열로 만들어서 반환함.

 

Arrays.toString(배열이름) 메서드를 사용하려면,

이클립스 단축키 'ctrl + shift + o'를 눌러

'import java.util.Arrays;'를 추가하여야함.

 

system.out.print(Arrays.toString(배열이름))를 입력해서

출력 할 수 있음 .

 

예외적으로 char배열만 Arrays.toString메서드없이

System.out.println(배열이름);  을 입력했을 때 문자가 그대로 구분자 없이  출력.


배열의 활용

  • 총합과 평균

배열과 반복문을 통해 총합과 평균을 구하는 예제

  • 최대값과 최소값

배열과 반복문을 통해 최대값과 최소값을 구하는 예제

  • 섞기

배열과 반복문을 이용하여 섞기, 오른쪽이 더 좋은 예제

 

  • 로또번호 만들기

위의 섞기예제를 이용하여 로또번호를 만드는 예제

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

Java 17. 2차원 배열  (0) 2024.05.10
Java 16. String 클래스  (0) 2024.05.08
Java 14. break,continue 를 이용한 반복문의 활용  (0) 2024.05.08
Java 13. 반복문 while, for  (0) 2024.05.08
Java 12. 조건문  (0) 2024.05.08