자바 의 배열 정의 와 사용 튜 토리 얼(1)

6694 단어 자바배열정의.
배열 의 기본 개념
현재 100 개의 정형 변 수 를 정의 하 라 고 요구 하고 있다 면 이전 방법 에 따라 현재 정 의 된 구 조 는 다음 과 같 을 수 있 습 니 다.

int i1, i2, i3, ... i100;
그러나 이 럴 때 는 이러한 방식 으로 정의 하 는 것 이 매우 번 거 로 울 것 입 니 다.이 변 수 는 서로 관련 이 없 기 때 문 입 니 다.즉,지금 갑자기 요구 가 하나 더 있 으 면 이 100 개의 변 수 를 출력 하 라 는 것 은 System.out.println()문 구 를 100 번 작성 하 겠 다 는 것 을 의미 합 니 다.
사실 이른바 배열 이란 관련 유형의 변수 집합 을 말 하 는데 이런 변 수 는 통 일 된 방식 으로 조작 할 수 있다.배열 자 체 는 데이터 형식 을 참조 하 는 것 에 속 합 니 다.그러면 데이터 형식 을 참조 하 는 이상 이 안 에는 실제 메모리 배분 과 관련 될 수 있 습 니 다.배열 의 정의 문법 은 다음 과 같은 두 가지 가 있 습 니 다.
배열 동적 초기 화:
배열 설명 및 열기:
  • 데이터 형식[]배열 이름=new 데이터 형식[길이];
  • 데이터 형식[]배열 이름=new 데이터 형식[길이];
  • 분포 배열 공간 개척(실례 화)
    | Tables | Are |
    | ------------- |:-------------?
    |설명 배열:|배열 형식 배열 이름[]=null;||||배열 형식[]배열 이름=null;||배열 공간 열기:|배열 이름=new'배열 형식[길이];|
    그러면 배열 이 공간 을 개척 한 후에 다음 과 같은 방식 으로 조작 할 수 있다.
  • 배열 의 방문 은 색인 을 통 해 이 루어 집 니 다.즉,'배열 이름[색인]'입 니 다.그러나 주의해 야 할 것 은 배열 의 색인 이 0 에서 시작 되 기 때문에 색인 의 범 위 는 0~배열 의 길이-1 입 니 다.예 를 들 어 3 개의 공간 을 개척 한 배열 이기 때문에 사용 할 수 있 는 색인 은 0,1,2 입 니 다.이때 방문 할 때 배열 의 색인 범 위 를 초과 하면...java.lang.Array IndexOutOfBounds 예외 이상 정보 가 발생 합 니 다.
  • 우리 배열 이 동적 초기 화 를 사용 하여 공간 을 개척 한 후에 배열 안의 모든 요 소 는 이 배열 이 데이터 형식 에 대응 하 는 기본 값 입 니 다.
  • 배열 자체 가 질서 있 는 집합 작업 이기 때문에 배열 의 내용 조작 은 순환 적 인 모델 로 이 루어 지고 배열 은 유한 한 데이터 집합 이기 때문에 for 순환 을 사용 해 야 한다.
  • 자바 에서 배열 의 길 이 를 동적 으로 얻 는 방식 을 제공 합 니 다.배열 이름.length;
  • 범례:int 형 배열 을 정의 합 니 다.
    
    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 차원 배열 에 대한 정 의 는 두 가지 성명 형식 이 있다.
  • 배열 의 동적 초기 화:데이터 형식 대상 배열[]=new 데이터 형식[줄 개수][열 개수];
  • 배열 의 정적 초기 화:데이터 형식 대상 배열[]=new 데이터 형식[줄 개수][열 개수]{{값,값,...},{값,값...};
  • 배열 의 배열 은 바로 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();
    		}
    	}
    }
    
    출력 이 번 거 롭 기 때문에 무시 할 수 있 습 니 다.개발 과정 에서 두 배열 이 나타 날 확률 이 높 지 않 습 니 다.
    총결산
    자바 의 배열 에 대한 정의 와 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 배열 의 정의 와 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기