안녕하세요. 궁금증연구소입니다.
오늘 포스팅 주제는 "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(배열 이름)
[java] 람다식의 유효범위와 effective final (0) | 2023.04.10 |
---|---|
[코드업 Java100제] 1023 : [기초-입출력] (0) | 2023.04.05 |
[Java] 삼항연산자로 조건 3개인 경우 처리하는 방법은? (0) | 2023.03.06 |
java 문자형 숫자를 숫자형(int)로 바꾸는 방법 (0) | 2022.11.26 |
Java에서 boolean 과 int형 연산은 가능할까? (1) | 2022.11.15 |