Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- dowhile문
- 안드로이드스튜디오
- array
- 단순if
- 증감연산자
- 문자열
- 다차원배열
- 명명규칙
- 대입 연산자
- 배열
- 콘솔출력문
- for문
- 사용자입력Switch문
- 산술 쉬프트 연산자
- 순환문
- 삼항 연산자
- 참조형호출
- 다중if
- 자바
- println()
- while문
- 타입변환
- 비트논리연산자
- 비정방행렬
- 기본형호출
- print()
- 변수유효범위
- 논리 쉬프트 연산자
- 비교연산자
- Java
Archives
- Today
- Total
신입개발자
참조자료형_배열1 본문
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은 클래스 참조형 자체의 배열도 가능하다
}
}
Comments