OneDev

[JAVA] 배열 출력하기 (반복문 / Arrays.toString()) 본문

Language/JAVA

[JAVA] 배열 출력하기 (반복문 / Arrays.toString())

one_dev 2023. 6. 3. 23:33

자바에서 일차원 배열의 값을 출력하는 방법 두 가지를 알아보겠습니다.

추가적으로 이를 응용하여 다차원 배열을 출력하는 방법도 알아보겠습니다.

여기서 출력이라 함은 아래와 같은 배열을

배열 출력

와 같이 출력하는 것을 의미합니다.


두 가지 방법은 다음과 같습니다

① 반복문 이용

② Arrays.toString()이용


① 반복문 이용

말 그대로 반복문을 이용해 출력하는 방법입니다

배열의 길이 만큼 반복문을 돌려 각 시행마다 배열의 원소 하나를 출력합니다.

 

② Arrays.toString()이용

java.util.ArraystoString() 메소드를 사용하는 방법입니다. (물론 import 하셔야 합니다)

이 메소드를 호출하면 배열을 이쁘게(?) 출력해줍니다.

자바 API 의 java.util > Arrays에 가시면 toString()메소드를 확인할 수 있습니다. (https://docs.oracle.com/javase/8/docs/api/)

아래의 코드는 Arrays.toString()을 이용해 배열을 출력하는 소스코드입니다

Arrays.toString()을 이용한 배열출력 소스코드

이 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다

 

③ 응용 - 다차원 배열 출력하기

8x8 행렬의 형태를 한 배열

위와 같은 8x8배열 maze를 모양 그대로 출력하고 싶다면 어떻게 해야할까요?

먼 Arrays.toString()메소드를 이용해 출력해보면

애석하게도 주소값만 출력하게 되는 것을 볼 수 있습니다.

 

이차원 배열은 쉽게 말해 배열을 원소로 가진 배열이죠

이것이 맞는 표현일지는 확신이 안서지만 "일차원 배열이지만 원소가 배열일 뿐인"것 이라 볼 수 있지 않을까 합니다.

그렇기 때문에 Arrays.toString(maze) 코드를 실행했을 때 배열 maze의 원소들을 모두 출력해주었고, 다만 그것들이 배열이기 때문에 주소값을 출력해 준 것입니다.

우리의 자바는 우리가 시킨대로 했을 뿐인거죠.

 

아무튼 위의 이차원 배열을 어떻게 출력하느냐 하면

(1) 먼저 maze의 길이만큼 반복문을 돌리고

(2) 그 반복문 안에서 각각의 배열을들을 Arrays.toString()을 이용해 출력

하면 됩니다.

이런식으로 말이죠.

실행하면 원하는 결과를 얻을 수 있습니다.

삼차원 배열을 포함한 다차원 배열도 조금씩 응용하면 출력할 수 있을것입니다.

짜잔~쉽죠?

Comments