drexqq

[Java, 자바] 배열(Array) 본문

Back-End/Java

[Java, 자바] 배열(Array)

drexqq 2020. 5. 21. 08:52
728x90
반응형

Java의 배열(Array)에 대해서 알아보자.

 

Array는 배열이다.

 

여기서 배열은 변수의 확장 버전이라고 볼 수 있다.

 

변수에는 여러가지여러 가지 값을 한 번에 담을 수 없지만 배열에는 여러 가지 값을 담을 수 있다.

 

따라서 자바에서의 배열은 같은 자료형인 변수들의 묶음이라고 생각 할 수 있다.

 

배열의 선언은

자료형 배열명[] = new 자료형 [배열의 개수];

자료형 []배열명 = new 자료형 [배열의 개수];

자료형 [] = new 자료형 [배열의 개수];

 

위의 세 가지 방식 모두 사용 가능하다.

 

또한 배열의 관리는 index번호를 통해서 하게 되는데 아래 예시를 보면서 이해해보자.

 

int array[] = new int[3];
// int []array = new int[3];
// int[] array = new int[3];

array[0] = 11;
array[1] = 22;
array[2] = 33;

위 코드를 보게 되면 int라는 자료형의 array라는 배열을 선언하였다.

 

new int [3]에서의 3은 배열의 개수를 표현해주는데 여기서 아까 말한 index번호와 연관이 있다.

 

아래에 array [0 = 11; 과 같이 array []안에 숫자가 들어가 있는게 보이는데 이게 바로 index번호이다.

 

index번호는 0에서 시작해서 배열의 개수 - 1 이 최대 값이다.

 

그래서 배열은 배열의 개수를 동적으로 할당한 후에 정적으로 사용할 수 있다.

 

쉽게 말하자면 배열의 개수는 마음대로 정할 수 있지만, 그 배열의 개수를 정한 뒤에는 그 안에서 사용해야 한다는 뜻이다.

 

배열은 다른 방법으로도 선언할 수 있다.

char charArr[] = {'H','e','l','l','o'};

System.out.println(charArr);
System.out.println(charArr[0]);
System.out.println((int)charArr[0]);	//ASCII Code

int array[] 배열을 선언했을 때와 다른 점은 index번호에 따른 값을 따로 지정해 주지 않고, 직접 배열 안에 넣어 주었다는 점이다.

 

어떤 방식이든 무관하다.

 

그리고 여기서 재밌는 점이 있는데, 위 코드의 마지막 줄을 보게 되면 charArr [0]의 값을 캐스팅해주었다.

 

놀랍게도 저렇게 되면 ASCII Code의 값이 출력이 되더라.. ASCII Code

728x90
반응형
Comments