궁금증 연구소

안녕하세요. 궁금증연구소입니다.

오늘 포스팅 주제는 "java 배열 생성 시 주의할 점"입니다.

 

 

1. 배열의 생성에 있어서 변수 이름과 대갈호의 위치는 바뀌어도 관계없다.

 

int [ ] score
int score [ ]  

위 선언 둘 다 가능한 방식이다. 단, 대괄호가 타입의 일부로 보는 의견에 동의한다면 첫 번째 방식이 더 선호된다.

(개인적으로는 c++과 2번 방식이 비슷해서 2번 방식으로 나도 모르게 많이 쓰지 않을까 생각..;;)

 

 

2. 길이가 0인 배열도 생성 가능하다.

 

int [ ] arr = new int [0]
int [ ] arr = new int[ ]{};
int [ ] score = {};

위와 같은 선언이 가능하다.

 

3. 배열은 한번 선언하면 길이를 변경할 수 없다. 즉 배열 객체의 arr.length 는 상수값이다. 값을 읽을 수는 있지만, 변경할 수는 없다. ( 배열 변경 시에는 새로운 배열을 선언해 기존 배열을 복사해 준다.)

 

arr.length  는 상수이다.

 

 

4. 배열을 먼저 선언한 후 값을 초기화할 때는 new 타입[ ]을 생략한 형태로 초기화할 수 없다.

 

원래는, 아래 두 가지 방식 모두로 초기화를 할 수 있다. 

int [ ] score = new int [ ]{10,20,30,40,50} 
int [ ] score = {10,20,30,40,50};

그렇지만 아래와 같이 선언만 미리 해둔 경우 두 번째 방식은 에러가 난다.
int [ ] score;
score = new int [ ]{10,20,30,40,50}   (O.K)
score = {10,20,30,40,50}   (Error) 

배열을 함수의 매개변수로 적는 경우 메서드 호출 시에도 new 타입 [ ]은 생략할  수 없다.

int add ( int [ ] score) {생략};
int result = add(new int [ ] {10,20,30,40,50}) ;(O.K)
int result = add({50,60,70,80,90}); (Error) 

5. 배열 요소 전체를 문자열로 보는 함수가 있다.

 

Arrays.toString(배열 이름)

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading