[JAVA강좌]자바 배열(Java Array), 배열이란, 배열선언, 배열생성
- 배열이란 변수의 집합 ,같은 데이터 타입의 변수를 한꺼번에 많이 저장하는 저장소 이다.
- 배열의 크기는 배열의 첨자로 결정한다.
- 배열의 메모리는 연속적으로 잡힘
- 배열의 이름(변수)은 연속된 변수들을 참조하기 위한 참조 값
- 배열도 객체이므로 Heap에 메모리가 할당되며 Object클래스의 메서드 이용가능하다
- 동일한 자료형을 갖는 자료의 배열
- 배열의 크기는 배열의 첨자로 결정한다.
- 배열의 메모리는 연속적으로 잡힘
- 배열의 이름(변수)은 연속된 변수들을 참조하기 위한 참조 값
- 배열도 객체이므로 Heap에 메모리가 할당되며 Object클래스의 메서드 이용가능하다
- 동일한 자료형을 갖는 자료의 배열
- 배열 선언(주의 : 선언할때 크기 명시 안 한다.)
int[] a; (혹은 int a[];)
int[] a; (혹은 int a[];)
- 배열에 Access하기 위한 첨자는 int형, long인 경우엔 캐스팅을 해야 한다.
- 배열 생성
a = new int[3];
int[] a = {1, 2, 3};
int[] a; a = new int[] {1, 2, 3};
a = new int[3];
int[] a = {1, 2, 3};
int[] a; a = new int[] {1, 2, 3};
Int[] onj = new int[10]
데이터 타입 : int[10]
배열의 이름 : onj
메모리 : int 4byte * 10
배열의 이름 : onj
메모리 : int 4byte * 10
- 배열초기화 예
선언 후 값할당
Int[] mydream = new int[4];
Mydream[0] = 100;
Mydream[1] = 200;
Mydream[2] = 300;
Mydream[3] = 400;
선언과 동시 값할당
int[] onj[] = new int[]{100, 200, 300};
Int[] onj[] = {100, 200, 300};
배열 길이
a.length
배열의 재사용
int[] a = {1, 2, 3};
a = new int[50]; //이때 이전의 배열a의 내용은 버려지며 새로운 메모리 공간이 할당된다.
int[] a = {1, 2, 3};
a = new int[50]; //이때 이전의 배열a의 내용은 버려지며 새로운 메모리 공간이 할당된다.
[예제]
class ArrayTest {
public static void main( String[] args ) {
int[] a = {1, 2, 3}; // int형 배열 a선언 및 값 할당
int a2[]; // int형 배열 a2 선언
a2 = new int[] {7, 8, 9, 10, 11, 12}; // 배열a2 값할당
//배열 복제 a배열 1,2,3을 a2배열10, 11, 12 자리로 복사
//0 : a배열의 0번째부터 즉 1부터, 3 : a2뱌열의 배열인덱스가 3인곳부터, 3 : 3개를 복사
System.arraycopy(a, 0, a2, 3, 3);
System.out.println( a.length ); // 3
for(int i = 0; i < a.length; ++i)
System.out.print( a[i] + " "); // array
// 스트링 객체의 참조값의 배열 생성
String[] as = { "Education", "of", "OnJProgramming", };
String[] as2 = { "OracleJava", "Community", };
System.out.println("\n" + as.length ); // 3
for(int i = 0; i < as.length; ++i)
System.out.print( as[i] + " "); //array of string
public static void main( String[] args ) {
int[] a = {1, 2, 3}; // int형 배열 a선언 및 값 할당
int a2[]; // int형 배열 a2 선언
a2 = new int[] {7, 8, 9, 10, 11, 12}; // 배열a2 값할당
//배열 복제 a배열 1,2,3을 a2배열10, 11, 12 자리로 복사
//0 : a배열의 0번째부터 즉 1부터, 3 : a2뱌열의 배열인덱스가 3인곳부터, 3 : 3개를 복사
System.arraycopy(a, 0, a2, 3, 3);
System.out.println( a.length ); // 3
for(int i = 0; i < a.length; ++i)
System.out.print( a[i] + " "); // array
// 스트링 객체의 참조값의 배열 생성
String[] as = { "Education", "of", "OnJProgramming", };
String[] as2 = { "OracleJava", "Community", };
System.out.println("\n" + as.length ); // 3
for(int i = 0; i < as.length; ++i)
System.out.print( as[i] + " "); //array of string
//as2가 참조하는곳(쳐다보는곳)을 a2도 참조.
as = as2;
as = as2;
System.out.println("\n" + as.length ); // 2
for(int i = 0; i < as.length; ++i)
System.out.print( as[i] + " " ); //another array
//참조해제
as2 = null;
}
}
for(int i = 0; i < as.length; ++i)
System.out.print( as[i] + " " ); //another array
//참조해제
as2 = null;
}
}
[결과]
3
1 2 3
3
Education of OnJProgramming
2
OracleJava Community
1 2 3
3
Education of OnJProgramming
2
OracleJava Community
[개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자
전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[기타
다른 강좌는 아래 해당 카테고리를 클릭해주세요]
댓글 없음:
댓글 쓰기