배열의 출력
[I@14737bb
같은 문자열이 출력된다. int[] iArr = {100, 95, 80, 70, 60};
System.out.println(iArr);
//[I@14737bb 와 같은 형식의 문자열이 출력된다.
/*
- [ 는 배열이라는 뜻
- I 는 Integer 타입이라는 뜻
- @ 위치는 +숫자(주소값)이다.
*/
출력 방법 2가지
1. for문
for(int i=0; i<=iArr.length()-1; i++) {
System.out.printlm(iArr[i]);
}
2. Arrays 사용
System.out.printlm(Arrays.toString(iArr); // "[100, 95, 80, 70, 60]"
//Arrays 클래스를 다루는데 필요한 메서드를 제공해준다.
//.toString -> 배열의 내용을 문자형식으로 바꿔준다.
char[] chArr = {'a', 'b', 'c', 'd'};
System.out.println(chArr);
//abcd 출력된다.
String 배열
String[] strArr = {"가위", "바위", "보"};
System.out.println(strArr);
for(int i=0; i<10; i++) {
int tmp = (int)(Math.random() * 3);
System.out.println(strArr[tmp]);
/*
랜덤하게 가위,바위,보 중 10번 찍힘
가위
바위
바위
가위
보
바위
보
가위
바위
가위
*/
}
String 클래스는 char[]와 메서드를 결합한 것이다.
String 클래스 char[] + 메서드
String 클래스는 내용을 변경할 수 없다.(read only)
String 클래스의 주요 메서드
문자열 비교와 출력
String[][] str2D = new String[][]{{"aaa","bbb"},{"AAA","BBB"}};
String[][] str2D2 = new String[][]{{"aaa","bbb"},{"AAA","BBB"}};
System.out.prinrln(Arrays.equals(str2D, str2D2)); //false
System.out.prinrln(Arrays.deepEquals(str2D, str2D2)); //true
int[] arr = {0,1,2,3,4};
int[][] arr2D = {{11,12}, {21,22}};
System.out.prinrln(Arrays.toString(arr)); // [0,1,2,3,4]
System.out.prinrln(Arrays.deepToString(arr2D)); // [[11,12],[21,22]]
int[] arr = {3, 2, 0, 1, 4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [0.1.2.3.4]