본문 바로가기
기타/도서

[자바의 정석] 4. 배열

by cejin 2023. 11. 21.

1. 배열의 출력 (char 배열일 때)

char[] chArr = {'a', 'b', 'c', 'd'};

System.out.println( chArr );  //abcd

 

 

2. 배열의 최댓값과 최솟값

for(int i=1; i<score.length; i++) {

     if(score[i] > max) { max = score[i]; }

     else if(score[i] < min) { min = score[i]; }

}

 

 

3. 배열 섞기 (shuffle)

1. 설명

0~9까지 숫자가 차례대로 있는 배열 numArr.

차례대로 초기화하여 출력하고, 섞고 출력.

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[5, 8, 2, 7, 1, 6, 4, 9, 3, 0]

 

2. 방법

1) n : Math.random()으로 0~9 중 한 값을 임의로 획득

2) 배열 0번째와 n 번째 값을 섞기 (int temp 이용)

 

 

4. String 배열

1. 초기값

- 기본값 : null

- name[0] = new String("Kim")이지만, "kim"으로 생략 가능

 

2. 주요 메서드

char charAt(int index) : index에 있는 문자 반환

int length() : 문자열 길이 반환

String substring(int from, int to) 해당 범위에 있는 문자열 반환 (to 미포함)

char[] toCharArray() : 문자열을 문자배열로 변환해서 반환

 

 

5. 커맨드 라인을 통해 입력받기

1) main 메서드가 담긴 클래스 이름이 MainTest일 때,

c:\jdk1.8\work\ch5>java MainTest abc 123

2) 메인 메서드에서 args[0], args[1]로 접근 가능

- 단, 띄어쓰기로 구분

 

 

6. 이클립스에서 커맨드라인 매개변수 입력하기

1) 이클립스 메뉴 run > run configurations 클릭

2) arguments 탭 클릭, Program arguments:에 입력

abc 123 "Hello world"

3) run 버튼을 눌러서 예제 실행

 

 

7. 2차원 배열

score[0].length 하면 배열의 배열이므로 들어있는 배열 길이 출력

 

 

8. Arrays 클래스의 메서드

1. 배열 출력

- 일차원 배열 : toString()

- 다차원 배열 : deepToSstring()

 

2. 배열 비교

- 일차원 배열 : equals()

- 다차원 배열 : deepEquals()

 

3. 배열 복사

- copyOf() : 배열 전체

- copyOfRange(배열이름, n) : 배열 일부, 0~n-1까지 

- copyOfRange(배열이름, 시작, 끝); 배열 일부, 시작~끝-1까지. 배열보다 크면 0을 대입

 

4. 배열 정렬

- sort()

 

 

 

출처 : 자바의 정석 기초편 1