배열 값 출력하는 방법 (반복문, Arrays.toString())

서이·2022년 9월 13일
0

Java

목록 보기
15/27
public class PrintArray {   
public static void main(String[] args) { 
int[] arr = { 1, 2, 3, 4, 5 };         
System.out.println(arr);  // ??    }}

[ 결과 ] I@762efe5d
위와 같이 그냥 배열 변수(arr)를 출력하면 알수 없는 값이 출력됩니다.
여기서 출력된 값은 arr라는 변수가 가리키고 있는, 
[1, 2, 3, 4, 5] 값이 들어있는 메모리의 주소값이기 때문입니다.

 배열을 출력하기 위해서는 반복문을 사용하거나, 배열을 출력할 수 있는 특별한 메소드를 사용해야 합니다.


 

1. 반복문 사용하기

	public class PrintArray {   
	public static void main(String[] args) {
	int[] arr = { 1, 2, 3, 4, 5 };         
	for (int i = 0; i < arr.length; i++) {            
		System.out.println(arr[i]);        }    
	}
}

[ 결과 ] 12345
위 코드는 반복문을 사용해서
배열의 각 index값을 읽어서, 값을 출력하였습니다.


2. java.util.Arrays의 toString() 메소드 사용하기
[ 코드 ]

	import java.util.Arrays; 
    
    public class PrintArray {
	public static void main(String[] args) {  
	int[] arr = { 1, 2, 3, 4, 5 };         
	System.out.println(Arrays.toString(arr));   
	}
}

[ 결과 ][1, 2, 3, 4, 5]

 Arrays.toString(arr);
위 코드에서는 배열의 값을 출력하기 위해서
java.util.Arrays.toString() 메소드를 사용하였습니다.
java.util.Arrays.toString() 메소드는 파라미터로 배열을 입력받아서,
배열에 정의된 값들을 문자열 형태로 만들어서 리턴해 줍니다.


2차원 배열

 2차원 이상의 배열을 다차원 배열이라고 하며, 메모리 용량이 허용하는 한 차원의 제한은 없지만 주로 1, 2차원 배열이 사용되므로 2차원 배열은 1차원 배열에서 대괄호([ ])가 하나 더 추가된다. 주로 테이블 형태의 데이터를 담는데 사용되며, n행 m열의 데이터를 담기 위한 배열이다.

2차원 배열 선언 및 생성
2행 3열의 데이터를 담기 위한 배열을 생성하려면 아래와 같이 작성한다.

ex) int[ ][ ] score = new int[2][3]; // 2행 3열의 2차원 배열 생성.

 위의 배열을 생성하면, 2행 3열의 데이터로 6개의 int값을 저장할 수 있는 공간이 생긴다.




2차원 배열 초기화

2차원 배열도 1차원 배열과 같이 { }를 사용해 선언, 생성 및 초기화를 동시에 할 수 있다.

ex) int[ ][ ] score= {{70, 80, 90}, {80, 90, 100}};
//new int[ ][ ] 가 생략. 2행 3열의 2차원 배열 선언, 생성 및 초기화.




2차원 배열 인덱스
2차원 배열은 행(row)과 열(column)로 구성되어 있기 때문에 index도 행과 열에 하나씩 존재한다. 인덱스는 1이 아닌 0부터 시작되는 것에 유의해야된다. 2차원 배열의 각 원소에 접근하는 방법은 "배열이름[행 인덱스][열 인덱스]"이다.

int[ ][ ] score= {{70, 80, 90}, {80, 90, 100}};
 // 2행 3열의 배열을 만들었을 때 각 인덱스마다 원소값은 아래와 같다.

score[0][0]=70; //1행 1열의 값

score[0][1]=80; //1행 2열의 값

score[0][2]=90; //1행 3열의 값

score[1][0]=80; //2행 1열의 값

score[0][1]=90; //2행 2열의 값

score[0][2]=100; //2행 3열의 값



2차원 배열 길이

2차원 배열은 배열의 배열로 구성되어 있다. 여러 개의 1차원의 배열을 묶어서 하나의 배열을 만든 것으로 볼 수 있다.

 int[ ][ ] score= {{70, 80, 90}, {80, 90, 100}};로 2행 3열의 배열을 만들었을 때, score.lnegth의 값은 2이다. 그리고 score[0].length의 값은 3이다.
 참조변수 score[0]이 참조하고 있는 배열의 길이이기 때문이다. 여기서 score[1].length의 값도 3이다.

 score.length=행의 길이 / score[i].length=열의 길이로 보면 될 것 같다.


for문으로 2차원 배열 출력


확장 for문으로 2차원 배열 출력

이 외에 deepToString()메소드를 이용해 출력할 수 있다.

ex) System.out.println(Arrays.deepToString(score)); //[70, 80, 90], [80, 90, 100]

profile
작성자 개인이 잊을 때마다 보라고 정리한 글

0개의 댓글

관련 채용 정보