[JAVA]/06.배열

02. 배열 선언과 생성

76beny 2022. 4. 6. 20:21

목차

- 배열 선언과 생성

- 예시) 배열 기본 생성법

- 예시) 배열 직접 선언

- 예시) 배열 표준적 사용법 


배열 선언과 생성

■ 배열을 다루기 위한 참조변수 선언

■ 타입1개당 변수는 1개만 선언! (변수(배열)2개 나열 시 2번째 변수의 타입이 정확하지않음.)

선언

타입[ ] 배열명 ;  (java에서 많이사용)

타입 배열명[ ] ; (C언어에서 많이사용)

 

* [00타입]의 배열을 다루기 위한 참조변수 [배열명]선언

생성 (실제 저장공간을 생성!)

타입[0] 변수이름(배열명) = new 타입[배열크기];

타입 변수이름(배열명)[ 0 ] = new 타입[배열크기];

 

* new는 객체를 새로 생성하는 키워드!(새로운 메모리 할당!)

* 00타입의 값0개를 저장할수 있는 배열 생성.


예시 ) 배열 기본 생성법

 

	public static void main(String[] args) {
		System.out.println("1.배열 기본생성법");

		int[] array = null; 
        array = new int[10];
        // null로 초기화 가능하면? 참조형 변수,array는 객체인데 배열이라 특수한 성질
		// 10개의 공간을 Heap에 생성하고, array라는 변수명에 주소값을 입력
		// 10개의 공간을 만든다음에 array에 할당시켜줘! 라는 뜻(명령어)
		// 배열(객체)는 생성과동시에 모든값이 0 으로 초기화 된다.

// 		초기화를 안했을 경우
//		int num;
//		System.out.println(num);//에러발생 -> 변수가 초기화가 안됬기때문에

		System.out.print(array[0]);// 초기값 : 0
		System.out.print(array[1]);// 초기값 : 0

		// 사용자가 직접 접근하여 초기화(할당) 하는 문법
		array[0] = 0;
		array[1] = 1;
		array[2] = 2;

		
		for (int i = 0; i < 10; i++) {
			array[i] = i; // i로 접근하고 i로 초기화// = array [i]=i;
			System.out.print(array[i]);// 0123456789순서대로 찍힘
		// 순회는 반복문으로
		// 여기서 i는 인덱스의 약자(index)
        
		// for(int i = 0 ; i <=9;i++)=>이문법은 쓰지 말것, 
		// WHY? 가능은 하나,잘 돌지만 위에 array = newint[10];의해 
        // 범위수정했을때 반영이안되서 범위가 달라짐 오류!
        
		// for(int i = 0 ; i < = 10 ; i ++) 이것도 잘못됨, 왜냐면array = new int[10]=>
		// 0,1,2,3,4,5,6,7,8,9라서 배열범위 초과됨
		}

 

예시 ) 배열 직접 선언

	System.out.println("2.배열 직접 선언하는 방법");
	int[] array2 = new int[10];// 선언의 표준적인 방법
	int[] array3 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
	// 크기 지정하지 않고 직접 초기화
    //int [] array3 = new int[5] {1,2,3,4,5};//크기 지정하면 에러!!
        
    // ★★★★★배열에서 Length를 hard코딩 안하는 방법 << 외워야 한다.
    // 숫자로 입력하지 않고 해당 배열길이(array3.length) 선언하고 출력
	for (int i = 0; i < array3.length; i++) {
		System.out.println(array3[i] + " ");
 }

■ Hard 코딩 : 사람이 직접 상수나 특정 수(데이터)를 입력하는 방법.

■ Hard코딩의 문제점 : 동적인 상황이나 실수에 대처가 되지 않음!

■ Hard코딩의 경우 2가지

/* 경우1 - 모든값이 출력되지 않음!->엄청 큰문제*/	
for ( int i = 0 ; i < 10 ; i ++) {
	System.out.print(array3[i]+ " ");
}  

/* 경우2 - 배열의 범위를 뛰어넘어서 에러발생.*/	
for ( int i = 0 ; i < 20 ; i ++) {
		System.out.print(array3[i]+ " ");
}

 

예시 ) 배열 표준적 사용법

		System.out.println("3. 배열 가장 표준적으로 사용하는 방법");
		int[] array5 = new int[12]; // 

		for (int i = 0; i < array5.length; i++) {
			System.out.println(array5[i]);
		}


// 문자열 배열
		String[] strArray = new String[] { "사과", "바나나", "딸기" };
//For문 안쓰고 내용을 출력하는 방법!
		System.out.println(Arrays.toString(strArray)); 
		// int나 다른타입도 가능!
		// import java util.Arrays;=>임포트문 추가되어야 함!

 

 

 


"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.

이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."