🏃‍♀️ Do it !/TIL

자바 배열 / 열거 타입

버터감자 2022. 9. 7. 09:28
728x90

2022 / 9 / 7 수

 

  • 자바 배열
  • 열거 타입

✔️ 자바 배열

배열?

- 같은 타입의 데이터를 연속된공간에 저장하는 자료 구조


값 목록으로 배열 생성

데이터 타입[ ] 변수 = { 값 0, 값 1, 값 2, 값 3 }

                               

String[ ] names = { "감자깡", "새우깡", "양파깡" }


new 연산자 배열 생성

값의 목록을 갖고 있지 않지만 향후 값들을 저장할 배열을 미리 생성하고 싶은 경우 !

타입[ ] 변수 = new 타입[길이];

                   

int [ ] intArray = new int [5];  // 길이가 5인 int[ ] 배열 생성


다차원배열

- 2차원배열로 수학에서의 행렬을 떠올리자! 

- 각 행마다 열의 크기가 고정

- int [ ] [ ] mathScores = new int [ 행의 크기 ] [ 열의 크기 ]; 

 

int[][] mathScores = new int[2][3]; // 2*3 행렬구조. 6개

for(int i=0; i<mathScores.length; i++) 
	{ //행의크기 2
		for(int k=0; k<mathScores[i].length; k++) 
        { // 1행3열 관점, 2행3열 관점
			System.out.println("mathScores["+i+"]["+k+"]=" + mathScores[i][k]);
		}
	}

//1행 열의크기 2, 2행 열의크기 3
int[][] javaScores = { {95, 80}, {92, 96, 80} };
		
for(int i=0; i<javaScores.length; i++) 
	{ //행의크기 2
		for(int k=0; k<javaScores[i].length; k++) 
        { // 1행2열, 2행3열
			System.out.println("javaScores["+i+"]["+k+"]=" + javaScores[i][k]);
		}
	}


배열 복사

- 배열은 한 번 생성하면 크기를 변경 할 수 없다.

 

배열 간의 항목 값 복사방법

1. for문 사용

2. System,arrayCopy( ) 메소드 사용

3. Arrays 클래스 사용

 

int[] oldIntArray = {1, 2, 3};
int[] newIntArray = new int[5]; //초기값 0
		
	//3번 반복. i->0, 1, 2
	for(int i=0; i<oldIntArray.length; i++)
    {
		newIntArray[i] = oldIntArray[i];
	}
		
	// 5번반복
	for(int i=0; i<newIntArray.length; i++) 
    {
		System.out.print(newIntArray[i] + ", ");
	}


 

✔️ 열거 타입

- 데이터 중에는 몇 가지로 한정된 값만을 갖는 경우가 있다. 이와 같은 데이터타입을 열거 타입이라 한다. 

ex ) 요일 , 계절, 무지개색

 

열거 타입 선언

- 열거 타입 소스파일명의 이름은 보통 첫문자는 대문자로 하고, 나머지는 소문자로 구성한다. 

- 소스 파일의 내용으로 열거 타입을 선언하기 위한 키워드는 소문자로 작성 ( public enum )

- 열거 타입의 이름은 소스 파일명과 대소문자가 모두 일치해야한다 ! 

 

public enum 열거타입이름 ( ... )

                      ↓

public enum Week ( SUNDAY , MONDAY , TUESDAY .... SATURDAY )