
1.
2. 1차원 배열
배열이란 하나의 변수를 사용하더라도 10개의 데이터를 저장 할 수 있는 것.
- 동일한 자료형의 순차적 자료 구조
- 인덱스 연산자[ ]를 이용하여 빠른 참조가 가능
- 물리적 위치와 논리적 위치가 동일
- 배열의 순서는 0부터 시작
- 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함
3. 배열 표기법
💡 타입 식별자[ ] | 타입 [ ] 식별자
<java />
int arr[]; // 여러개의 int 값이 들어갈 수 있는 배열 선언
int [] arr;
4. 배열의 선언과 초기화
💡 배열 변수 선언 | int arr [ ] ;
주소값이 들어갈 수 있는 변수로 참조 변수라고 한다.
단 한개의 데이터 형를 저장할 수 있는 메모리가 확보 ( 변수 생성, 주소값 없음)
💡 배열 생성 | new int [ 배열 길이 ];
new 생성자를 선언해야지만 사용가능, 배열이 선언되면 동시에 초기화 되며 메모리가 생성된다. (주소값 생성)
초기화된 값은 정수 0 / 실수 0.0 / 객체 null 이 들어간다.
💡 배열 초기화 | arr [0] = 10; arr [1] = 20;
배열의 실제 값을 넣어주는 것.
5. 배열 사용법 3가지
1. 배열 선언과 생성 분리
int arr [ ];
arr = new int [ 배열 길이 ] ;
arr [ 0 ] = 10 ;
arr [ 1 ] = 20 ;
3. 배열 선언과 생성을 함께
int arr [ ] = new int [ 배열 길이 ] ;
arr [ 0 ] = 10;
arr [ 1 ] = 20;
2. 배열 선언, 생성, 초기화 동시 : 배열의 길이 생략 가능
int arr [ ] = { 10, 20, 30, 40, 50 } 또는
int arr [ ] = new int [ ] { 10, 20, 30, 40, 50 }
6. 배열의 이용 (배열 출력)
배열은 주로 FOR문과 함께 사용된다.
배열의 index 이용하여 배열 안에 있는 값을 출력할 수 있다.
6.0.1. 1. 일반 FOR문
<java />
int arr[] = {10,20,30,40,50}; //arr3[0],arr3[1],...
for(int i = 0; i < arr.length ; i++) {
System.out.println("arr["+ i + "] = " + arr[i]);
}
- index 0 부터 시작 된다.
- 배열.length 는 배열 길이(개수)이다.
- 각 i 번째 배열의 값을 알수 있다. ( 예시출력값 : arr [ 0 ] = 10 )
6.0.2. 2. 향상된 FOR문
💡 for ( 자료형 변수명 : 배열 ) { 배열의 갯수 만큼 For문이 돌아간다 }
<java />
int arr[] = {10,20,30,40,50};
for(int n : arr){
System.out.print(n + ",");
}
- 배열 안에 값을 가져올때 주로 사용된다.
- 일반 FOR문과 달리 인덱스는 가져올 수 없다.
6.0.3. 3. 배열의 길이(length)와 실제 값이 들어간 개수는 동일 하지 않을 수 있다.
이럴때는 요소의 개수에 대한 변수(Count)를 따로 유지해주는 것이 좋다.
<java />
double[] dArr = new double[5];
int count = 0;
dArr[0] = 1.1; count++;
dArr[1] = 2.1; count++;
dArr[2] = 3.1; count++;
double mtotal = 1;
for(int i = 0; i< count; i++) {
mtotal *= dArr[i];
}
System.out.println(mtotal);
7.
8. 2차원 배열
2차원 배열은 1차원 배열의 안을 하나더 배열로 나눈 것이다.
💡 타입 식별자[ ][ ] | 타입 [ ][ ] 식별자
💡 int arr [ ][ ] = new int [1차원 배열 길이] [2차원 배열 길이]
<java />
int arr[][];
int[][] arr;
9. 2차원 배열 사용법 3가지
1. 배열 선언과 생성 분리
int arr [ ] [ ];
arr = new int [2] [2] ;
arr [ 0 ] [ 0 ] = 10 ;
arr [ 0 ] [ 1 ] = 20 ;
arr [ 1 ] [ 0 ] = 10 ;
arr [ 1 ] [ 1 ] = 20 ;
3. 배열 선언과 생성을 함께
int arr [ ] = new int [2] [4] ;
arr = { {1,2,5,6} , {1,4,5,6} }
2. 배열 선언, 생성, 초기화 동시 : 배열의 길이 생략 가능
int arr [ ] [ ]= { {1, 2, 3} , {3,4,6} , {4,1,3} }
3. 2차원 배열의 크기를 다르게 생성하는 방법
3 - 1 . int arr[][] = new int[3][];
new int [0][2];
new int [1][2];
new int [2][3];
new int [3][4];
3 - 2 . int arr [ ] [ ]= { {1, 2, 3} , {3,4,6} , {4,1} }
10. 2차원 배열의 이용 (배열 출력)
10.0.1. 중첩 FOR문
<java />
int arr3[][] = {{1,2},{3,4},{5,6}};
for(int i=0;i<arr3.length;i++){
for(int j=0;j<arr3[i].length;j++){
System.out.println("arr3[" + i + "]["+j+"] = "+ arr3[i][j]);
}
}
>>value :
arr3[0][0] = 1;
arr3[0][1] = 2;
arr3[1][0] = 3;
arr3[1][1] = 4;
arr3[2][0] = 5;
arr3[2][1] = 6;
🍫 구구단 2~9 단까지 전체를 2차원 배열에 넣어서 출력하기
<java />
int x2[][] = new int [8][9];
for (int i = 0; i < x2.length; i++) {
for (int j = 0; j < x2[i].length; j++) {
x2[i][j] = (i+2)*(j+1);
System.out.println((i+2) + "*"+ (j+1) +"=" + x2[i][j]);
}
}
'BackEnd > JavaProgram' 카테고리의 다른 글
[ JAVA ] 자바 배열 문법 3 / 배열 메서드 ( Arrays ...) (0) | 2023.02.01 |
---|---|
[ JAVA ] 자바 배열 문법 2 / 객체 배열 (0) | 2023.02.01 |
[ JAVA ] 싱글톤 패턴 (Singleton pattern) (0) | 2023.02.01 |
[ JAVA ] static 변수와 메서드, 변수의 유효 범위 (0) | 2023.01.30 |
[ JAVA ] 객체 간의 협력 / 예제 문제 풀어보기 (0) | 2023.01.30 |