자바에서 배열을 그대로 출력하면 어떻게 될까?
int[] iArr = { 100, 95, 80, 70, 60 };
System.out.println(iArr);
결과는 [I@14318bb]와 같은 형식의 문자열이 출력된다.
이는 [타입@주소]의 형식을 갖고 있다. I는 1차원 int배열이라는 의미이고, '@'뒤에 나오는 16진수는 배열의 주소인데 실제 주소가 아닌 내부 주소이다.
아무튼 이런 출력 형식은 원하는 배열의 출력 결과가 아니다.
배열의 값 자체를 출력하기 위해서는 for문을 돌리는 방식도 있지만 간단하게 Arrays.toString(배열이름) 메서드를 사용하는 것이다.
int[] iArr = { 100, 95, 80, 70, 60 };
System.out.println(Arrays.toString(iArr)); //[100, 90, 80, 70, 60]이 출력된다.
예외적으로 char 배열은 println메서드로 출력하면 각 요소가 구분자 없이 그대로 출력되는데, 이것은 println메서드가 char배열일 때만 이렇게 동작하도록 작성되었기 때문이다.
char[] chArr = { 'a', 'b', 'c', 'd' };
System.out.println(chArr); //abcd가 출력된다.
'java > java' 카테고리의 다른 글
[Java] 연산자 (2) | 2021.06.23 |
---|---|
[Java] 배열의 복사 (0) | 2021.06.23 |
[Java] 자바 데이터 타입, 변수 그리고 배열 (1) | 2021.06.22 |
[Java] javac - error: error while writing 오류 (0) | 2021.06.12 |
[Java] 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (0) | 2021.06.12 |