신입개발자

참조자료형_배열1 본문

프로그래밍 언어/자바

참조자료형_배열1

dks_a 2022. 5. 1. 11:33
package pk10;

/*
 자바에서 배열 내용을 출력해보려고 배열 자체에서 toString()을 사용하면 배열의 내용이 아니라 배열의 주소값이 출력됩니다. 
 배열의 내용을 출력하려면 Arrays.toString()을 사용해야 합니다. 

double[] values = {1.0, 1.1, 1.2};
System.out.println(values.toString()); // 이렇게 하면 [D@46a49e6 같은 값이 나옵니다.
System.out.println(Arrays.toString(values)); // 이렇게 하면 [1.0, 1.1, 1.2] 이 출력됩니다.
*/

public class 참조자료형_배열1 {

	public static void main(String[] args) {
		// (주소)참조자료형(Reference Data Tyoe)
		// - 8대 기본(Primitive) 자료형 이외의 자료형
		// - 배열, 열거, 클래스, 인터페이스 등이 있다.
		// - 참조 자료형의 종류는 사용자 정의형이므로 이론상 무한대
		// 참조 변수
		// - 참조 자료형으로 선언된 변수다.
		// - 스택에 생성되고 주소를 갖는다.
		
		// 배열 Array
		// - 동일 자료형의 연속만 가능하다 
		// - [0] 인덱스부터 시작한다
		// - 생성시 크기 지정 필수
		// - JVM은 지정된 크기의 연속 공간을 힙에 할당하고 그 주소를 반환해 준다.
		
		// 배열 선언방법
		// A) 추천
		int[] a1 = new int[3]; // 크기 지정 필수 //참조 자료형[] 참조변수 = 크기 지정 
		//B) 추천
		int[] a2;
		a2 = new int[3];
		//C)
		int a3[] = new int[3];
		//D)
		int a4[];
		a4 = new int[3];
		
		// 문법
		// - int[] : 참조 자료형 중 배열을 의미하며 정수값만 취급하는 연속공간, 여기서 크기 지정 안함
		// - a1 : 참조 변수이지 배열명이며 스텍에 존재 
		//		: 주소 값을 갖음, 필요시 주소값 초기화하는 null 이용
		// - new : 힙에 새로운 공간을 할당하고 주소를 반환해줄 것을 JVM(자바 바이트코드를 실행하는 실행기)
		// - int[3] : 좌변의 int[] 형태와 동일해야 함, 배열의 크기 지정 필수 
		//			: 힙에 int4*3, 즉 12바이트 연속공간을 할당해줄 것을 JVM요청
		//			: JVM은 힙의 메모리 공간은 설정시 초기화 서비스를 해줌
		// 			: (vs 기본 자료형의 스택 변수는 초기화 안해주면 그냥 사용시 에러)
		
		// 예)
		System.out.println(a1[0]); // 0, 참조 자료형의 힙 내용은 자동 초기화 됨
		// 예)
		int i;
//		System.out.println(i); // 에러, 기본 자료형은 사용전 초기화 필수
		// 예)
//		int[] a5 = new int[]; // 에러, 배열크기를 우측에 꼭 지정해야 한다.
		// 예)
		int[] a5 = null;  // a5는 스택에 저장 //스택의 주소는 null 초기화, 하지만 배열 사용전에는 꼭 공간 할당 받아야한다.
		// 예)
		double[] d = new double[5]; // 더블형의 배열
		// 예)
		String[] s = new String[3]; //String은 클래스 참조형 자체의 배열도 가능하다
		
		
	}

}

 

 

'프로그래밍 언어 > 자바' 카테고리의 다른 글

배열3  (0) 2022.05.08
배열2  (0) 2022.05.08
Dowhile문  (0) 2022.05.01
순환문4  (0) 2022.05.01
순환문3  (0) 2022.05.01
Comments