자바 의 배열 정의 와 사용 튜 토리 얼(1)
현재 100 개의 정형 변 수 를 정의 하 라 고 요구 하고 있다 면 이전 방법 에 따라 현재 정 의 된 구 조 는 다음 과 같 을 수 있 습 니 다.
int i1, i2, i3, ... i100;
그러나 이 럴 때 는 이러한 방식 으로 정의 하 는 것 이 매우 번 거 로 울 것 입 니 다.이 변 수 는 서로 관련 이 없 기 때 문 입 니 다.즉,지금 갑자기 요구 가 하나 더 있 으 면 이 100 개의 변 수 를 출력 하 라 는 것 은 System.out.println()문 구 를 100 번 작성 하 겠 다 는 것 을 의미 합 니 다.사실 이른바 배열 이란 관련 유형의 변수 집합 을 말 하 는데 이런 변 수 는 통 일 된 방식 으로 조작 할 수 있다.배열 자 체 는 데이터 형식 을 참조 하 는 것 에 속 합 니 다.그러면 데이터 형식 을 참조 하 는 이상 이 안 에는 실제 메모리 배분 과 관련 될 수 있 습 니 다.배열 의 정의 문법 은 다음 과 같은 두 가지 가 있 습 니 다.
배열 동적 초기 화:
배열 설명 및 열기:
| Tables | Are |
| ------------- |:-------------?
|설명 배열:|배열 형식 배열 이름[]=null;||||배열 형식[]배열 이름=null;||배열 공간 열기:|배열 이름=new'배열 형식[길이];|
그러면 배열 이 공간 을 개척 한 후에 다음 과 같은 방식 으로 조작 할 수 있다.
public class ArrayDemo {
public static void main(String args[]) {
int data[] = new int[3]; /* 3 */
data[0] = 10; //
data[1] = 20; //
data[2] = 30; //
for(int x = 0; x < data.length; x++) {
System.out.println(data[x]); //
}
}
}
배열 자 체 는 성명 과 공간 개척 외 에 또 다른 개척 모델 이 있다.범례:단계별 모델 로 배열 공간 을 개척 합 니 다.
public class ArrayDemo {
public static void main(String args[]) {
int data[] = null;
data = new int[3]; /* 3 */
data[0] = 10; //
data[1] = 20; //
data[2] = 30; //
for(int x = 0; x < data.length; x++) {
System.out.println(data[x]); //
}
}
}
그러나 배열 은 참조 데이터 형식 에 속 하기 때문에 배열 이 사용 하기 전에 반드시 컨트롤(실례 화)을 열 어야 합 니 다.만약 에 공간 이 없 는 배열 을 사용 하면 NullPointer Exception 이상 정보 가 나타 납 니 다.
public class ArrayDemo {
public static void main(String args[]) {
int data[] = null;
System.out.println(data[x]);
}
}
이 원칙 은 앞서 설명 한 대상 과 완전히 같다.배열 은 개발 에 있어 서 반드시 사용 되 지만 위 와 같은 조작 은 매우 적다.앞으로 의 실제 개발 에서 배열 개념 을 더 많이 사용 하고 직접 사용 하 며 99%의 상황 에서 for 순환 수출 만 할 것 이다.
배열 참조 전달
배열 이 인용 데이터 형식 에 속 하 는 이상 인용 전달 도 반드시 발생 할 수 있다.그 전에 먼저 배열 의 공간 개척 을 연구 해 보 자.
범례:프로그램 관찰
public class ArrayDemo {
public static void main(String args[]) {
int data[] = null;
data = new int[3]; // 3
data[0] = 10;
data[1] = 20;
data[2] = 30;
}
}
그러면 인용 데이터 형식 이 라 고 말 한 이상 인용 전달 이 발생 할 수 있 고 현재 의 인용 전달 의 본질 도 똑 같은 메모리 공간 이 서로 다른 스 택 메모리 에 의 해 가리 킬 수 있 습 니 다.
범례:프로그램 정의
public class ArrayDemo {
public static void main(String args[]) {
int data[] = null;
data = new int[3]; // 3
int temp[] = null; //
data[0] = 10;
data[1] = 20;
data[2] = 30;
temp = data; //int temp[] = data;
temp[0] = 99;
for(int i = 0; i < temp.length; i++) {
System.out.println(data[i]);
}
}
}
인용 전달 분석 은 모두 하나의 방법 이다.같은 메모리 가 다른 스 택 메모리 에 의 해 가리 키 고 있 습 니 다.
배열 정적 초기 화
이전에 진 행 된 배열 의 정 의 는 모두 뚜렷 한 특징 을 가지 고 있다.배열 은 메모리 공간 을 먼저 개척 한 다음 에 색인 을 사용 하여 내용 의 설정 을 한다.실제 적 으로 이런 방법 을 동적 초기 화 라 고 하 는데 배열 이 정의 할 때 설정 내용 이 동시에 나타 나 기 를 원한 다 면 정적 초기 화 를 통 해 완성 할 수 있다.
배열 의 정적 초기 화 는 모두 다음 과 같은 두 가지 유형 으로 나 뉜 다.
Tables
Are
간단 한 형식:
데이터 형식 배열 이름={값,값,...}
전체 형식:
데이터 형식 배열 이름=new 데이터 형식[]{값,값,...}
범례:정적 초기 화 정의 배열 사용
public class ArrayDemo {
public static void main(String args[]) {
int data[] = {1, 2, 4, 545, 11, 32, 13131, 4444};
for(int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
}
개발 과정 에서 정적 배열 의 초기 화 에 대해 완전한 문법 모델 을 사용 하 는 것 을 강력 히 권장 합 니 다.그러면 익명 배열 이라는 개념 을 쉽게 사용 할 수 있 습 니 다.
public class ArrayDemo {
public static void main(String args[]) {
System.out.println(new int[] {1, 2, 4, 545, 11, 32, 13131, 4444}.length);
}
}
나중에 정적 으로 배열 을 정의 할 때 는 전체 형식 을 써 야 합 니 다.배열 의 가장 큰 결함:길이 고정.
2 차원 배열
이전에 사 용 된 배열 은 하나의 색인 만 있 으 면 접근 할 수 있다 는 것 을 발견 하면 이러한 배열 은 실제 적 으로 데이터 줄 의 개념 과 매우 비슷 하 다.
인덱스
0
1
2
3
4
5
6
7
8
내용.
12
23
44
56
90
445
49
99
1010
현재 색인 하 나 를 아 프 게 하면 유일한 기록 을 얻 을 수 있다.따라서 이러한 배열 은 1 차원 배열 로 간단하게 이해 할 수 있 고 2 차원 배열 은 본질 적 으로 행렬 집합 을 말 하 며 특정한 데 이 터 를 확인 하려 면 줄 색인 과 열 색인 으로 포 지 셔 닝 을 해 야 한다.
인덱스
0
1
2
3
4
5
6
7
8
0
12
23
44
56
90
445
49
99
1010
1
2
3
41
56
9
45
49
99
10
데 이 터 를 확인 하려 면 데이터 가 사용 하 는 구 조 는'배열 이름[행 색인][열 색인]'이기 때문에 이러한 구 조 는 표 의 구조 이다.
그러면 2 차원 배열 에 대한 정 의 는 두 가지 성명 형식 이 있다.
범례:2 차원 배열 을 정의 합 니 다.
public class ArrayDemo {
public static void main(String args[]) {
//
int data[][] = new int[][] {
{1, 2, 3}, {4, 5}, {6, 7, 8, 9}};
// ,
// ,
for(int i = 0; i < data.length; i++) {
for(int j = 0; j < data[i].length; j++) {
System.out.print("data[" + i + "][" + j + "]=" + data[i][j] + "、");
}
System.out.println();
}
}
}
출력 이 번 거 롭 기 때문에 무시 할 수 있 습 니 다.개발 과정 에서 두 배열 이 나타 날 확률 이 높 지 않 습 니 다.총결산
자바 의 배열 에 대한 정의 와 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 배열 의 정의 와 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.