minlog
article thumbnail

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]); } }
profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!