Class/Java

#JAVA 수업 강의 4-1

열정코딩 2022. 3. 31.

# 배열
같은 자료형의 여러 변수를 하나의 묶음으로 나열 해 놓은 것

int data1

int data2..  이렇게 까지  intdata100 까지 이름 설정을 해놓을수 없다 . 매우 힘들고 귀찮기 때문에 

조금더 편리 하게 하기 위해 "묶음" 으로 나열 해 놓은것 

 

🟣배열 문법 

int [ ] arData = new int [5];  > int 타입의 저장공간 5개 

앞에 있는 참소 변수가 배열을 다룬다 .

각각의 저장공간 이름 없음. 하지만.  숫자가 자동 배열 = index 

즉 index > arData  가 배열을 다룬다. 

 

🟣배열 사진 

 

이해하기 쉽도록 그림 그려보았다.

   

 

1. 여러개의 저장공간을 배열을 통해 한번에 선언하여 관리한다.
2. 규칙성이 없는 값에 규칙성을 부여한다.(index 번호 자동부여)
3. [ ] 대괄호를 사용한다.
4. 배열은 0부터 시작

 

🟣  배열의 선언(배열을 다루기 위한 참조변수(배열명)가 선언된 상태)
자료형[] 배열명;
int[] arData;

 

🟣 배열의 생성(실제 저장공간을 생성한 상태)
배열의 이름 = new 자료형[칸수];
arData = new int[5];

▶자료형 [] 배열명 = new 자료형[칸수];
int[] arData= new int[5];

▶자료형[] 배열명 = {값1, 값2, 값3, ...};
int[] arData = {1,2,3,4,5};

 

🟣 배열의 사용
배열명[idx] = 값; // 저장공간 / 해당값이 알맞은 index 들어가서 저장하게 됨 
sysout(배열명[idx]); //값 / 변수 이름을 가지고 사용 될때는 그 차제가 '값' 이 된다. 

 

▶예제 ( 배열 선언 + 생성 + 초기화)  

public static void main(String[] args) {
		int data0 =1;
		int data1 =2;
		int data2 =3;
		int data3 =4;
		
		// 배열 선언 + 생성 
		int[] arData = new int[5]; //5개의 저장공간 
		arData[0] = 100;
		arData[1] = 200;
 	    arData[2] = 300;
		arData[3] = 400;
		arData[4] = 500;
		// 각각의 방안에 100~500 이 각각 들어가 있음 
		// 배열의 길이 -1 
		System.out.println("arData 0번째 방:" + arData[0]);
		// 간편 출력 
	    for (int i = 0; i < 5 ; i++) {
			System.out.println(arData[i]);
		}
	
	}

 

- 출력 ( for 문으로 간편하게 만들어 줄수 있다) 

 

- 배열의 index 번호
각 배열의 요소에 자동으로 붙는 번호
인덱스의 범위 0 ~ 배열길이-1

🟣 length
해당 배열의 길이 만큼 . 
배열명.length // 정수

> i 의 범위가 배열의 인덱스 범위 보다 더 크면 오류가 난다 . 

> 값이 변동됨에 따라 자동적으로 변형 "lenght"

 

▶예제 

 int[ ] arData2 = {10, 20,30, 40, 50};
	    System.out.println(arData2);
	    
	    System.out.println(arData.length);
	    for (int i = 0; i < arData2.length; i++) {
			System.out.println(arData[i]);
		}

 

 

 

# 2차원 배열

배열 안에 배열(가로 행, 세로 행)
1차원배열의 배열(1차원 배열 여러개를 하나로 묶어놓은것)

 

🟣 2차원 배열의 모습 

 

▶ 배열의 길이 

▶ int[][] number = new int[2][3]

1. 2차월 배열에서 첫번째 대괄호로 접근한 행들은 주소값이 되고, 두번째 대괄호로 접근하는 열들이 값이 된다.
2. number.length는 행을 나타내고,
열의 길이는 number[행의 idx].length
3. 1차원 배열을 여러개 선언할 때 관리하기 힘들기 때문에 2차원 배열을 한번 선언한다.
( 2차원 배열은 메모리낭비가 심하므로 선호하지 않는 편이다.)

🟣 2차원 배열 선언
자료형[][] 배열명= new 자료형[행][열];
int[][] number = new int[2][3];

자료형[][] 배열명= {
{값1, 값2, 값3},
{값4, 값5, 값6}
}

각각 소배열들은 행을 나타내고 그안에 값들의 방번호는 열을 나타낸다.
2차월 배열을 사용할 때에는 두번 접근을 해야하기 때문에 대괄호가 두개이다.

 

예제)

- 2차원 배열 생성 

public static void main(String[] args) {
		// 2차원 배열 생성 [2][3]
		int[][] arrData = {
							{10, 20, 30},
							{40, 50, 60}
							};
                            //50을 출력하고 싶음. 2차원 배열 기준 1행 , 1열 
		System.out.println(arrData[1][1]);
							
	}

}

 

'Class > Java' 카테고리의 다른 글

#JAVA 수업 강의 4  (0) 2022.03.31
Java class day1, day2 요약정리  (15) 2022.03.28
#JAVA 수업 강의 3-2  (5) 2022.03.26
#JAVA 수업 강의 3-1  (0) 2022.03.25
#JAVA 수업 강의 3  (8) 2022.03.24

댓글