저번주에는 정수형(거의 다 int형) 배열에 대해서만 다뤘는데 이번주차에 다른 배열도 선언 가능한 것을 다루고 넘어갔다.
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();
}
/*
[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() 차이 참고 사이트
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 메소드를 오버라이딩했음을 알 수 있다. 덕분에 간편하게 배열에 대해 콘솔 출력이 가능했다.