16-java - 배열 기타이론

jin·2022년 5월 22일
0

저번주에는 정수형(거의 다 int형) 배열에 대해서만 다뤘는데 이번주차에 다른 배열도 선언 가능한 것을 다루고 넘어갔다.

1. 배열 타입들

int arr[] = { 1, 2, 3, 4 };
double farr[] = { 1.1, 2.2, 3.3, 4.4 };
boolean barr[] = { false, false, true, true };
/*
char[] 배열은 한글자씩 저장가능하고 '' 홑따옴표를 사용한다.	
char[] 배열은 너무 불편하다. 
 [예] 한사람의 이름 자체가 배열이기때문에 한명이상 저장할수없다.  
*/
char carr[] = { 'm', 'i', 'k', 'e' };
/*
   char대신에 문자열을 저장할수있는 String 이 만들어졌다.추후 자세히 다룬다.
*/

String name ="이영희";
System.out.println(name);
String sarr[] = { "김철수", "mike", "이만수", "jake" };

System.out.println("--------------------------------");

for (int i = 0; i < arr.length; i++) {
	System.out.print(arr[i] + " ");
}
System.out.println();

for (int i = 0; i < farr.length; i++) {
	System.out.print(farr[i] + " ");
}
System.out.println();

for (int i = 0; i < barr.length; i++) {
	System.out.print(barr[i] + " ");
}
System.out.println();

for (int i=0; i < carr.length; i++) {
	System.out.print(carr[i] + " ");
}
System.out.println();

for (int i = 0; i < sarr.length; i++) {
	System.out.print(sarr[i] + " ");
	}
	System.out.println();
}

2. 배열의 길이

/*
   [1] arr.length  ==> 배열의 개수를 나타낸다.
 */
public static void main(String[] args) {
	int arr[] = { 1, 2, 3, 4 };
	for (int i = 0; i < 4; i++) {
		System.out.println(arr[i]);
	}

	System.out.println("------------");
		
System.out.println("배열의 개수 = " + arr.length);
	for (int i = 0; i < arr.length; i++) {
		System.out.println(arr[i]);
	}
}

저번주에 정리한 배열 책정리 마지막에서도 배열 길이에 대해 정리했었으니 참고.
length, length(), size() 차이 참고 사이트

3. toString 메소드를 사용해 배열 쉽게 출력하기

package E2_배열2_기본이론;

import java.util.Arrays;

public class 배열2_기본이론3_편한출력 {
	public static void main(String[] args) {
		/*
		 *  배열의 전체값을 출력하기쉬운 방법 
		 *  (예) arr1[] = {1,2,3,4};
		 * 
		 *  [1] import java.util.Arrays; 
		 *  [2] Arrays.toString(arr1)
		 *  
		 *  실제 내부는 아래와같이 만들어져있다.
		 */
		int arr1[] = { 1, 2, 3, 4 };
		System.out.print("[");
		for (int i = 0; i < arr1.length; i++) {
			if (i < arr1.length-1) {
				System.out.print(arr1[i] + ", ");
			} else {
				System.out.print(arr1[i]);
			}
		}
		System.out.print("]");
		
		System.out.println();
		System.out.println("------------");
		
		System.out.println(Arrays.toString(arr1));
	}
}

보통 main 메소드 안에서 작성코드만 적었는데 java.util 패키지 정리를 위해 전체적으로 작성했다. 사실 Scanner나 Random 클래스 사용할때 정리해야 하지 않을까 싶었는데 책에서도 326p에서 나오고 util패키지에 대한 정리없이도 이해하는데 큰 문제가 없다 생각하여 생략했었다.
수업 내용도 저게 끝이지만 toString의 이해를 위해 한번 정리하고 넘어가자.

아래 두 링크를 보면 util 패키지의 Arrays 클래스에서 lang 패키지의 Object클래스를 상속받아 toString 메소드를 오버라이딩했음을 알 수 있다. 덕분에 간편하게 배열에 대해 콘솔 출력이 가능했다.

java.lang 패키지 책 정리 포스트
java.util 패키지 책 정리 포스트

0개의 댓글