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
- 2차원배열
- URL생성
- while
- 자바
- express
- Java
- 문제풀이
- 반복문
- Spring
- 모달팝업
- 키패드
- 자바실습문제
- 레이어팝업URL
- 적용
- LV1
- CONTINUE
- node.js
- array
- berak
- for
- KH정보교육원
- 프로그래머스
- 자바변수
- 백준
- 정적파일
- 자바연산자
Archives
- Today
- Total
까잉이의 개발노트
JAVA 배열(Array) 정리 본문
배열
같은 자료형의 변수를 하나의 묶음으로 다루는 것
(배열은 저장된 값 마다 인덱스 번호가 0부터 시작하여 설정)
배열 선언
- 자료형[] 배열명;
- 자료형 배열명[];
배열 할당
- 자료형[] 배열명 = new 자료형[배열크기];
- 자료형 배열명[] = new 자료형[배열크기];
예시
// 배열 선언
int[] arr1;
int arr2[];
// 배열 할당
int[] iArr1 = new int[3];
int iArr2[] = new int[3];
배열 저장구조

배열은 참조 변수로 Heap영역에 할당되며 배열공간의 주소를 저장
배열 공간의 주소를 이용해 인덱스를 참조하는 방식으로 값 처리
배열 초기화
// 인덱스를 이용한 초기화
int[] iArr1 = new int[3];
iArr1[0] = 0;
iArr1[1] = 1;
iArr1[2] = 2;
// for문을 이용한 초기화
int[] iArr2 = new int[5];
for(int i = 0; i < 5; i++){
iArr2[i] = i;
}
// 선언과 동시에 초기화
int[] iArr3 = {1, 2, 3};
String[] sArr = {"가", "나", "다", "라"};
배열 복사
배열을 복사해오는 방법으로 얕은 복사와 깊은 복사가 있다
얕은 복사
객체의 주소 값만 가져와 참조형 변수에 저장하고 하나의 객체를 두 변수가 참조하는 것
예시
int[] iArr1 = new int[4];
int[] iArr2 = iArr1;
이러한 경우 iArr2에서 배열 값이 변경이되면 iArr1또한 똑같이 변경이됨
깊은 복사
새로운 배열 객체를 생성하여 기존 배열의 데이터를 복사하는 것
예시
int[] iArr1 = {1, 2, 3, 4, 5};
int[] iArr2 = new int[5];
// 방법1. for문을 이용한 깊은복사
for(int i = 0; i < iArr2.length; i++){
iArr2[i] = iArr1[i];
}
// 방법2. System 클래스의 arraycopy 메소드를 이용한 복사
// System.arraycopy(원본배열, 복사 시작 인덱스, 복사본 배열 , 복사본배열의 시작 인덱스, 복사길이);
System.arraycopy(iArr1, 0, iArr2, 0, iArr1.length);
// 방법3. Arrays 클래스에서 제공하는 copyOf 메소드 사용
// Arrays.copyOf(원본 배열 , 복사할 길이)
iArr2 = Arrays.copyOf(iArr1, iArr1.length);
// 방법4. clone 메소드를 이용한 복사
iArr2 = iArr1.clone();
'JAVA' 카테고리의 다른 글
JAVA 사용자 ip 가져오기 (0) | 2022.11.08 |
---|---|
JAVA 2차원 배열 (0) | 2021.09.07 |
JAVA 반복문(for문, while문)과 분기문 정리 (0) | 2021.08.01 |
JAVA 조건문(if문, switch문) 정리 (0) | 2021.07.28 |
JAVA 연산자 실습문제 (0) | 2021.07.28 |
Comments