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 |
Tags
- 깃허브
- 리액트
- qqOperater
- push함수
- dart
- 코딩테스트
- mybatis
- Sort()
- 자바스크립트
- Pug
- 네임드생성자
- js
- React
- 삼항연산자
- 콘솔게임
- Node.js
- 다형성
- java
- Spring
- app.use
- 생성자
- DB
- 오류
- 배열
- Middleware
- Oracle
- 추상클래스
- int와 integer
- git
- 자바
Archives
- Today
- Total
평행코드
배열과 2차원 배열 본문
배열선언과 할당
// 배열 선언
자료형[] 배열명 ;
자료형 배열명[ ] ;
// 배열 할당
자료형[ ] 배열명 = new 자료형[배열크기];
자료형 배열명[ ] = new 자료형[배열크기];
ex) int[] arr = new int[3];
int arr[] = new int[3];
배열 초기화 방법
// 인덱스를 이용한 초기화
arr[0] = 1;
arr[1] = 2;
// for문을 이용한 초기화
ex) for(int i = 0; i < arr.length; i++) {
arr[i] = i;
}
// 선언과 동시에 초기화
ex) int[] arr = {1, 2, 3, 4, 5};
int[] arr = new int[] {1, 2, 3, 4, 5};
String fruit[] = {"사과", "포도", "참외"};
배열의복사
1. 얕은 복사 : 원본값을 공유하는 방식(주소공유)
얕은 복사를 하면 저장소 한 개를 공유해서 사용한다.
2. 깊은 복사 : 사본 (새로운 저장공간) 을 생성해서 복사
// 얕은복사
int[] intArr = {1,2,3,4};
int[] intArr2 = intArr;
// 깊은복사
for(int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
arr2 = Arrays.copyOf(arr1, arr1.length);
arr2 = arr1.clone();
* System.arraycopy() : 매개변수에 따라 복사되는 데이터를 선택할 수 있음
첫번째 : 원본배열명
두번째 : 원본배열 시작인덱스
세번째 : 복사될 배열명
네번째 : 복사될 배열의 시작인덱스
다섯번째 : 복사할 데이터의 수 (길이)
2차원 배열
자료형이 같은 1차원 배열의 묶음으로 배열 안에 다른 배열이 존재
2차원 배열은 할당된 공간마다 인덱스 번호 두 개 부여
(앞 번호는 행, 뒷 번호는 열( [ ] [ ] )
배열 선언
자료형[ ][ ] 배열명 ;
자료형 배열명[ ][ ] ;
자료형[ ] 배열명[ ];
배열 할당
자료형[ ][ ] 배열명 = new 자료형[행크기][열크기];
자료형 배열명[ ][ ] = new 자료형[행크기][열크기] ;
자료형[ ] 배열명[ ] = new 자료형[행크기][열크기] ;
ex) int[][] arr = new int[3][4];
int arr[][] = new int[3][4];
2차원 배열 초기화
인덱스를 이용한 초기화
ex) arr[0][0] = 1;
arr[1][1] = 2;
for문을 이용한 초기화
ex) for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
arr[i][j] = j;
}
}
선언과 동시에 초기화
ex) int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}};
int[][] arr = new int[][]{{1, 2, 3, 4}, {5, 6, 7, 8}};
String fruit[][] = {{"사과", "딸기", "석류"},
{"바나나", "참외", "레몬"}};
'Java' 카테고리의 다른 글
생성자(Constructor) (0) | 2023.09.07 |
---|---|
메소드 Getter와 Setter (0) | 2023.09.07 |
객체와 클래스 (인스턴스 필드와 클래스필드의 차이) (0) | 2023.09.05 |
Java) 가위바위보게임 만들기! (0) | 2023.09.03 |
Java) 몬스터를 사냥하는 게임을 만들어보자! (0) | 2023.09.03 |