본문 바로가기
프로그래밍 언어/자바 (Java)

[자바(Java) 공부하기] 10. 배열 - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 10.
728x90
반응형

 

배열이란 같은 타입의 데이터 연속된 공간에 나열하고, 각 데이터의 인덱스(index)를 부여해 놓은 자료구조를 말합니다.

배열의 각 인덱스는 각 항목의 데이터를 읽거나 저장하는 데 사용되며, 배열 이름 옆에 대괄호 [ ]에 작성됩니다. 인덱스 0부터 시작합니다.

배열 변수 스택 영역에 생성되지만, 실제 배열의 값들은 힙 영역에 생성됩니다. 따라서 배열 변수에는 배열의 힙 영역의 주소가 저장되게 됩니다.

 

배열을 사용하기 위해서는 배열 변수를 선언해줘야 합니다. 배열 변수 선언은 두 가지 방식으로 작성될 수 있는데, 자료형[] 변수명 형식으로 작성될 수 있고, 자료형 변수명[] 형식으로 작성될 수 있습니다.

배열 변수는 힙 영역의 배열 실제 값을 참조하게 되는데, 만약 참조할 배열의 실제 값이 없다면 배열 변수는 배열 변수는 null 값으로 초기화해 줄 수 있습니다.

 

배열을 선언하고 배열을 생성할 때는 new 연산자를 사용해야 합니다.

만약 값의 목록을 알고 있다면 배열 선언과 동시에 배열을 생성해 줌으로써 간단하게 배열을 생성할 수도 있습니다.

값의 목록으로 배열을 생성할 때 배열 변수를 이미 선언한 후라면 무조건 new 연산자를 사용하여 자료형[] {값의 목록} 형식으로 배열을 생성해줘야 합니다. new 연산자를 사용하지 않으면 배열이 생성되지 않습니다.

그리고 이렇게 생성된 배열은 길이가 값의 목록의 개수로 지정됩니다.

값의 목록을 가지고 있지는 않지만, 나중에 값들을 저장할 배열을 미리 만들어 둘 때는 new 연산자로 배열을 생성하면 됩니다. 자료형[] 변수명 = new 자료형[배열의 길이]; 형식으로 작성해 길이가 정해진 배열을 생성해 주고 나중에 변수명[index] = 값 형식으로 값을 지정해 줄 수 있습니다.

 

new 연산자로 배열을 생성할 경우, 배열은 자동적으로 기본값으로 초기화됩니다.

각 자료형에 따른 초기값을 확인해 보세요.

또한 배열 변수를 생성할 때 지정한 자료형과 배열을 생성할 때 지정한 자료형이 동일하다는 것도 볼 수 있습니다.

 

배열의 값을 확인할 때는 하나하나 출력해 보며 확인할 수도 있지만, 반복문을 사용하여 쉽게 확인할 수 있습니다.

index 값을 활용하여 배열의 값들을 하나씩 출력하며 확인할 수 있습니다.

 

for 문을 사용해 배열의 각 원소 값을 출력하는 코드에서 5라는 숫자는 배열의 길이를 의미하며 배열의 길이만큼 반복하며 각 원소의 값을 출력합니다. 이렇게 값을 넣어준다면 배열이 바뀔 때마다 해당 값을 바꿔줘야 하는 번거로움이 생깁니다. 이를 해당 배열의 길이로 나타낸다면 배열이 바뀌어도 값이 알아서 바뀌게 됩니다.

배열의 길이를 알 수 있는 방법은 배열 변수명.length 형식으로 작성하면 해당 배열의 길이를 반환해 줍니다.

반응형

배열의 길이를 활용하여 배열의 값을 입력받고 출력하는 코드 예시
각 배열의 값을 입력받고 평균을 구하여 출력하는 코드 예시
무작위로 입력받은 배열의 값을 정렬하는 코드 예시
각각 이름과 점수를 입력받고, 점수의 합이 높은 순서대로 순위를 결정하는 코드 예시
배열의 길이 자체를 입력받고, 입력받은 변수의 값을 배열의 길이로 지정해 배열을 생성하는 코드 예시
반복문과 조건문을 활용하여 원하는 배열의 값만 출력하는 코드 예시
반복문과 조건문을 활용하면서 continue 문 사용하는 코드 예시
인덱스 값을 입력받아 해당 인덱스의 값을 배열에서 출력하는 코드 예시
배열의 원소 값을 입력받아 해당 값의 인덱스 값을 출력하는 코드

for 문을 사용해 배열의 값을 출력할 때 기존 for 문의 형식으로 출력할 수도 있지만 향상된 for 문으로 작성하여 출력할 수도 있습니다. 향상된 for 문은 반복 실행을 하기 위해 카운터 변수와 증감식을 사용하지 않습니다.

for(배열의 자료형 배열에서 꺼낸 항목을 저장할 변수 : 배열 변수명) 형식으로 작성하게 되면 배열의 항목 개수만큼 반복하여 각 배열의 항목을 0번부터 추출하게 됩니다.

 

임의의 정수를 반환하는 방법에 대해 간단히 살펴보고 가겠습니다. 임의의 정수를 가져오는 방법은 Math.random() 메서드를 활용하면 됩니다. 해당 메서드는 0 이상 1 미만의 수를 double 타입으로 생성하는데 해당 메서드에 값을 곱하고 정수 타입을 변환하면 0부터 곱한 값 이전까지의 정수의 값을 반환하게 됩니다.

728x90
반응형