여러 값을 저장하는 하나의 변수를 선언할 수 있는 방법이 있다면 어떨까요? 있다? 훌륭합니다. Java에는 정확히 이것을 수행할 수 있는 배열이라는 개념이 있습니다. 하나의 변수에 여러 값을 저장할 수 있으므로 코드를 깨끗하고 깔끔하게 유지하는 데 도움이 됩니다.
이 가이드에서는 배열이 작동하는 방식, 사용되는 이유, 배열의 내용을 조작하는 방법에 대해 설명합니다. 작동 방식을 보여주기 위해 몇 가지 예를 살펴보겠습니다.
배열이란 무엇입니까?
목록이라고도 하는 배열은 정렬된 요소 시퀀스를 포함하는 데이터 구조입니다. 배열에 0개 이상의 항목을 저장할 수 있지만 모두 같은 유형이어야 합니다. 예를 들어, 배열은 100개의 문자열 또는 52개의 숫자를 저장할 수 있습니다.
배열은 유사한 값을 함께 그룹화하는 데 도움이 되므로 유용합니다. 다양한 커피 유형을 정의한다고 가정해 보겠습니다. 각 유형의 커피를 자체 변수로 선언하는 대신 배열로 그룹화할 수 있습니다.
배열을 선언한 후에는 배열을 반복하여 배열의 모든 값에 대해 동일한 메서드와 작업을 수행할 수 있습니다.
배열에 대해 생각하는 한 가지 방법은 값 모음입니다. 오늘 끝내야 할 할 일 목록을 알고 있습니까? 배열과 비슷합니다. 완료해야 하는 작업 목록이 있으며 각 작업은 특정 순서로 저장됩니다.
배열 선언
Java에서 배열을 선언하는 것은 간단합니다. 배열의 이름을 선택하고 데이터 유형을 지정하기만 하면 됩니다. 다음은 coffees
라는 배열을 선언하는 예입니다. :
String[] coffees;
우리 코드는 coffees
라는 배열을 생성합니다. . 왼쪽에는 배열에 저장될 데이터 유형이 있습니다. 당신은 또한 한 쌍의 빈 브래킷이 있습니다. 이것은 단순히 문자열 변수가 아닌 배열을 정의하려는 코드를 알려줍니다. 오른쪽에는 변수의 이름이 있습니다.
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
아직 완료되지 않았습니다. 배열을 선언할 때 배열에 포함할 항목 수를 프로그램에 알려야 합니다. 이를 통해 Java는 배열에 값을 저장하는 데 필요한 메모리를 할당할 수 있습니다.
우리는 coffees
를 원합니다 우리가 가장 좋아하는 세 가지 블렌드를 지역 상점에 보관할 배열입니다. 이를 위해 우리는 배열이 보유할 수 있어야 하는 요소의 수가 3개라고 프로그램에 알릴 것입니다.
coffees = new String[3];
이렇게 하면 배열에 채울 수 있는 세 개의 빈 값이 생성됩니다.
배열에 저장할 값의 수를 생각해야 합니다. 배열 변수의 크기를 정의한 후에는 변경할 수 없다는 점에 유의하는 것이 중요합니다.
배열을 선언하고 메모리를 할당하는 코드를 한 줄로 압축할 수 있습니다.
String[] coffees = new String[4];
이것은 간결하고 간단하기 때문에 배열을 선언하는 가장 좋은 방법입니다. 이 방법이 작동하지 않는 유일한 경우는 배열에 얼마나 많은 값을 저장할지 확신할 수 없을 때입니다. 이 경우 배열을 먼저 선언한 다음 프로그램이 저장할 값의 수를 알게 되면 메모리를 할당하고 싶을 것입니다.
이 경우 배열은 문자열 값을 보유합니다. 그러나 정수 배열, 객체 배열, 배열 배열 또는 다른 데이터 유형을 포함하는 배열을 선언할 수도 있습니다.
배열 초기화
어레이 설정이 아직 완료되지 않았습니다. 지금까지 표준 배열을 선언했습니다. 문제는 아직 값이 없다는 것입니다. 변수를 선언하는 동안 배열에 초기 값 집합을 할당하는 구문은 다음과 같습니다.
String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };
이 예에서는 배열에 세 개의 값을 할당했습니다.
배열의 요소 액세스
어레이의 장점은 액세스하기 쉽다는 것입니다. 은유적으로, 집중하고 싶은 할일 목록의 항목에 동그라미를 치는 것과 같습니다.
배열 내부에서 모든 항목에는 고유한 특수 번호가 지정됩니다. 이를 인덱스 번호라고 합니다. 인덱스 번호는 숫자 0에서 시작하며 배열의 각 항목에 대해 1씩 증가합니다. 다음 목록을 고려하십시오.
- 0:르완다 이즈바
- 1:프렌치 로스트
- 2:베트남 달랏 아라비카
이 목록에서 르완다 이즈바 블렌드의 인덱스 값은 0이고 프렌치 로스트 블렌드의 인덱스 값은 1이며 베트남 달랏 아라비카 블렌드의 인덱스 값은 2입니다. 다음 배열을 사용하겠습니다.
String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };
이 배열의 첫 번째 항목에 액세스하려면 다음 코드를 사용할 수 있습니다.
System.out.println(coffees[0]);
코드 반환:Rwanda Izuba.
인덱스 값은 대괄호 사이에 배열로 전달됩니다. 인덱스 값으로 존재하는 숫자의 범위는 0에서 배열 길이보다 1 작습니다. 앞서 언급했듯이 배열은 값 0에서 인덱싱되기 때문입니다.
존재하지 않는 인덱스 값에 액세스하려고 하면 오류가 반환됩니다.
ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
이 경우 배열의 인덱스 값 3에 액세스하려고 했습니다. 인덱스 값은 최대 2개까지만 올라가기 때문에(배열은 0부터 시작하여 인덱싱된다는 점을 기억하십시오) 오류가 반환되었습니다.
한 단계 높여보겠습니다. 배열의 모든 항목을 살펴보고 개별적으로 작업을 수행하려고 한다고 가정합니다. 배열의 모든 항목을 콘솔에 인쇄할 것입니다. 다음과 같이 for-each 루프를 사용하여 이를 수행할 수 있습니다.
class CoffeeArray { public static void main(String[] args) { String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" }; for (String coffee : coffees) { System.out.println(coffee); } } }
코드 반환:
Rwanda Izuba French Roast Vietnam Da La Arabica
이 예에서 코드는 coffees
의 모든 항목을 반복합니다. 배열하고 각 항목을 콘솔에 출력합니다. 카운터가 필요하지 않기 때문에 "for" 루프 대신 for-each 루프를 사용했습니다. 즉, 더 간결하고 읽기 쉽습니다.
배열의 항목 변경
휴스턴, 우리에게 문제가 생겼다. 우리가 가장 좋아하는 프렌치 블렌드가 실제로 프렌치 로스트라고 불리는 것이 아님이 밝혀졌습니다. 프렌치 클래식이라고 합니다. 이것을 변경하려면 인덱싱을 사용할 수 있습니다.
다음 코드를 고려하십시오.
class CoffeeArray { public static void main(String[] args) { String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" }; coffees[1] = "French Classic"; System.out.println(coffees[1]); } }
할당 연산자(=)를 사용하여 인덱스 위치 1에 있는 커피 값을 변경했습니다. 값을 French Roast
에서 변경했습니다. French Classic
으로 . 코드 반환:French Classic.
자바 배열:예
하나의 예에서 논의한 모든 개념을 모아 보겠습니다. 지난 주에 총 커피에 지출한 금액을 계산하려고 한다고 가정해 보겠습니다.
먼저 프로그램의 클래스와 변수를 설정합니다.
class CoffeePrices { public static void main(String[] args) { Double[] purchases = {2.55, 2.75, 2.99, 3.05}; double sum = 0; } }
두 개의 변수를 선언했습니다. 하나의 변수는 구매 목록을 저장합니다. 다음 변수는 우리가 커피에 얼마나 썼는지에 대한 카운터를 저장합니다. 다음 단계는 모든 커피 구매를 반복하고 "sum" 변수에 추가하는 foreach 루프를 만드는 것입니다.
for (double purchase : purchases) { sum += purchase; }
코드를 실행하면 프로그램은 지난 주에 커피에 소비한 총 금액을 계산합니다. 단 하나의 문제가 있습니다. 우리 프로그램은 그 값이 무엇인지 알려주지 않습니다! 콘솔에 출력하여 값을 검색할 수 있습니다.
이 모든 코드를 함께 실행하면 다음이 반환됩니다.
You've spent $11.34 on coffee in the last week. $11.34 on coffee. Not bad! What a useful program.
결론(및 과제)
배열은 동일한 데이터 유형의 여러 값을 저장할 수 있는 데이터 유형입니다. 좋아하는 책 목록, 게임의 플레이어 목록 또는 평균을 계산하려는 숫자 목록과 같은 모든 항목에 대해 배열을 선언할 수 있습니다.
당신은 도전을 찾고 있습니까? 읽어.
사용자에게 여행 목적지를 선택하여 자세히 알아보도록 요청하는 프로그램을 작성하십시오. 여행 목적지를 배열에 저장해야 합니다. 각 대상에 대한 한 문장으로 된 설명을 별도의 배열에 저장해야 합니다.
사용자가 여행 목적지를 선택하면 여행 목적지 배열에서 찾아 색인 번호를 계산합니다. 그런 다음 해당 색인 번호를 사용하여 해당 대상에 대한 한 문장으로 된 설명을 콘솔에 인쇄하십시오.
이제 전문가처럼 Java에서 배열을 사용할 준비가 되었습니다!