> Java > java지도 시간 > [Java 시작하기 노트] Java 언어 기초(5): 배열

[Java 시작하기 노트] Java 언어 기초(5): 배열

黄舟
풀어 주다: 2016-12-22 11:33:47
원래의
1385명이 탐색했습니다.

소개

배열은 여러 데이터를 저장하는 데 사용할 수 있습니다. Java 배열에서는 모든 배열 요소가 동일한 데이터 유형을 가져야 합니다. 배열이 초기화되면 배열의 메모리 공간은 고정되어 길이를 변경할 수 없습니다. 배열의 요소를 지워도 점유된 공간은 그대로 유지됩니다.

라이프 케이스: 뮤지엄 랙

[Java 시작하기 노트] Java 언어 기초(5): 배열

각 아이템 랙에는 같은 종류의 아이템이 들어 있으며, 아이템을 꺼내도 길이는 변하지 않습니다. 선반, 아이템 선반은 그대로 유지됩니다.

배열 정의

[Java 시작하기 노트] Java 언어 기초(5): 배열

배열 사용 4단계:

1. >

Java는 두 가지 형식의 배열 정의 형식을 지원합니다.

Type[] 변수 이름; 유형 변수 이름[];

예:

int[] a;int b[]; //두 방법 모두 괜찮지만 첫 번째 방법을 사용하는 것이 좋습니다.

위 예시에서 배열을 선언하는 것은 박물관에서 맞춤형 아이템 랙(어레이)을 구매하는 것과 동일하지만, 아이템 랙의 크기(배열 크기)는 아직 결정되지 않았습니다. , 아직 항목 선반에 아무것도(배열 요소) 배치되지 않았습니다.

2. 공간 할당

공간을 할당하는 것은 배열을 초기화하는 것입니다.

첫 번째: 정적 초기화

정적 초기화 구문 형식은 다음과 같습니다.

데이터 유형 [] 변수 이름 = 새 데이터 유형 [] {data 1, data 2, data 3,...}

예:

int[] a = new int[]{4,2,64,12,3}; //이 숫자를 배열에 저장합니다. 배열의 크기(길이)는 해당 요소의 개수입니다. 중괄호 수량, 이 예의 크기는 5String[] b = new String[]{"Zhang San", "Li Si", "Wang Wu"} //모든 데이터 유형은 정의된 데이터 유형이어야 합니다. int[] c = {2,5,7}; //약어를 사용해도 됩니다

맞춤형 아이템 랙을 구입하여 디스플레이 아이템을 아이템 랙에 넣는 것과 같습니다. 동시에 구매 후 아이템은 아이템 랙의 크기만큼 커집니다.

두 번째 유형: 동적 초기화

동적 초기화는 배열의 크기만 지정하고 시스템이 각 요소의 초기 값을 지정하도록 하는 방법입니다. 구문 형식은 다음과 같습니다.

데이터 유형 [] 변수 이름 = 새 데이터 유형 [크기]

이 형식에서는 배열을 지정해야 합니다. 정수 유형 Size가 지정되면 데이터 길이와 배열이 저장할 수 있는 요소 수를 결정합니다. 또한 모든 요소에 기본 초기값을 할당합니다.

예:

int[] a = new int[5]; //길이가 5인 배열을 정의합니다. 즉, 5개의 int형 데이터를 동시에 저장할 수 있습니다. time, 기본값 5개는 0으로 초기화됩니다

초기화 시 기본값은 다음과 같이 설정됩니다.

byte, short, int, long default to 0;

float 및 double 기본값은 0.0입니다.

char 기본값은 'u0000'입니다.

부울 기본값은 false입니다. null;

3. 할당

배열을 초기화했지만 여전히 값을 할당하여 내부 데이터를 변경할 수 있습니다. 그러면 배열이 초기화되었고 배열의 크기가 결정되었습니다. 각 배열 요소에 값을 어떻게 할당합니까?

배열에도 첨자 개념이 있습니다. 배열이 초기화되면 항목 표시 선반의 숫자와 마찬가지로 각 요소에 첨자가 할당됩니다. 첨자를 사용하여 다시 색인화할 수 있습니다. 각 요소.

배열의 첨자는 0부터 시작합니다. 즉, 첫 번째 요소의 첨자는 0입니다. 왜 0부터 시작하는지에 대해서는 나중에 의 예를 살펴보겠습니다. 할당:

int[] a = new int[3]; //3개의 요소 값이 기본값인 3의 int 유형 배열을 정의합니다. a[0] = 4; //첫 번째 요소 값을 4a[1] = 5로 설정합니다. //두 번째 요소 값을 5a[2] = 7로 설정합니다.

배열 첨자는 왜 0부터 시작하나요? [Java 시작하기 노트] Java 언어 기초(5): 배열

가장 먼저 알아야 할 것은 프로그램이 컴퓨터 메모리에서 실행된다는 것입니다. 프로그램이 데이터 처리를 시작하면 코드에 데이터를 저장하기 위해 메모리에 작은 공간이 열립니다. 다음과 같은 변수를 정의합니다.

int a = 5;

값이 5인 int 유형 변수를 정의합니다. 이 변수는 메모리에 할당된 작은 메모리 블록(a라는 이름)으로 메모리에 표현되며 여기에 저장되는 값은 5입니다.

[Java 시작하기 노트] Java 언어 기초(5): 배열

그리고 a와 같은 변수 이름을 통해 메모리의 값을 어떻게 가져오나요? 우리가 살고 있는 집에 주소가 있듯이, 기억의 작은 조각 하나하나에도 주소가 있기 때문입니다. 이 주소를 통해 우리는 그 집에 누가 살고 있는지 알 수 있습니다.

배열 작업을 용이하게 하기 위해 두 개의 배열이 메모리의 연결된 위치에 저장됩니다. 예를 살펴보겠습니다.

int[] b = new int[3] //정의 배열 유형 int, 길이는 3이고 내부 요소의 기본값은 0

이때 메모리는 다음과 같습니다.

[Java 시작하기 노트] Java 언어 기초(5): 배열

배열에서 데이터를 얻을 때도 마찬가지입니다. b 배열의 각 요소에 대한 데이터를 어떻게 알 수 있나요? 우선, 배열 b가 메모리 내 어디에 있는지 알 수 있습니다. 배열은 메모리 내 연결된 메모리 공간이므로 b[0]의 위치는 b+0과 같고, b[1]의 위치는 다음과 같습니다. b+ 1,b[2]=b+2,... 등등, 우리는 배열의 모든 요소의 위치를 ​​알고 있습니다. 배열의 첫 번째 요소는 정확히 배열의 시작 부분에 있습니다. b[0]으로 표시되는 경우 이는 정확히 b로 표시되는 위치입니다. 1을 사용하여 첫 번째 요소의 위치를 ​​표시해야 합니다. a+1-1로 표현됩니다.

4. 데이터 처리

이전 내용에서는 배열을 정의하고, 배열을 초기화하고, 값을 할당했는데, 그럼 실제로 데이터를 어떻게 사용할지는 이미 살펴봤습니다. 배열 첨자는 배열에 값을 할당하는 데 사용되며 각 배열 요소의 값도 배열 첨자를 통해 얻습니다.

int[] a = 새로운 int[3]; a[0] = 3; a[1] = 4; a[2] = 5; System.out.println(a[1]); //배열의 두 번째 위치 값을 가져와서 출력합니다. //배열의 각 요소를 반복할 수도 있습니다. for(int i = 0; i

위의 예에서 루프로 인쇄하면 다음과 같습니다. a.length를 사용하면 배열 변수 이름 .length를 통해 배열의 길이를 얻을 수 있으므로 위에서는 a.length를 사용하여 배열의 길이를 3으로 만들고 3번 반복한 다음 배열의 요소를 인쇄합니다. 정렬.

존재하지 않는 첨자에 접근하면 안 된다

위에서 알 수 있듯이 변수명 [subscript]를 통해 변수에 값을 할당하거나 얻어오는 방식으로 배열을 제어하며, 접근이 배열의 길이 첨자를 사용하면 예외가 발생합니다.

int[] a = 새로운 int[2]; a[5] = 2; //a 배열의 길이는 2개에 불과하며 아래 첨자 5를 통해 6번째 요소에 액세스합니다. 실제 a 배열에 이 위치가 없으면 예외가 발생합니다.

2차원 배열 또는 다차원 배열

위에서 이야기한 것은 기본 데이터 유형 또는 참조 데이터 유형을 배열을 배열에 저장할 수도 있습니다:

[Java 시작하기 노트] Java 언어 기초(5): 배열

위에서는 배열 요소에 또 다른 배열 요소를 저장하고 내부 배열은 int 데이터 유형을 저장합니다. 이러한 배열을 2차원 배열이라고 부릅니다.

2차원 배열의 정의, 초기화 및 할당

데이터 유형 [ ] [ ] 배열 이름 = 새 데이터 유형 [길이 1] [길이 2]

길이 1은 어레이의 외부 레이어의 길이이고, 길이 2는 내부 레이어의 길이입니다.

위 그림의 양식을 정의하고 초기화하려면 다음과 같이 하면 됩니다.

int[][] a = new int[3][3]; a[0][0] = 2; //액세스 시 첫 번째 대괄호 안의 숫자는 배열의 외부 레이어 요소 첨자를 나타내고, 두 번째 대괄호 안의 숫자는 내부 레이어의 첨자를 나타냅니다. 배열 a[0 ][1] = 3; a[0][2] = 4; a[1][0] = 5; a[1][1] = 3; a[1][2] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;

다음 형식으로 2차원 배열을 정의할 수도 있습니다.

[Java 시작하기 노트] Java 언어 기초(5): 배열

int[][] a = new int[3][] //초기화 정의 시 외부 레이어의 길이를 3으로 설정하고, 레이어의 길이는 설정하지 않습니다.
a[0] = new int[2]; //내부의 각 레이어를 초기화하고 길이를 설정합니다. a[1] = new int[1]; a[2] = 새로운 int[3]; a[0][0] = 3; //각 요소에 값을 할당합니다. a[0][1] = 4; a[1][0] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;


3차원 배열은 배열을 저장하는 배열 내부의 배열입니다~~~~~ 비유하자면 n개의 다차원 배열이 있을 수 있지만 대부분의 사람들은 많이 사용하지 않습니다 ~~~^_^ ~~

위 내용은 [Java 소개 노트] Java Language Basics(5): Arrays 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿