배열이란?
배열
- 배열은 같은타입의 여러 변수를 하나의 묶음으로 다루는 것이다.
- int[] score = new int[5];
배열의 선언과 생성
1.선언(배열을 선언 / 배열을 다루기 위한 참조 변수를 선언)
- 타입[] 변수이름; , int[] score;
- 타입 변수이름[]; , int score[];
2.생성(실제 저장공간을 생성한)
- 변수이름 = new 타입[길이]; , score = new int[5];
배열의 인덱스
- 배열의 인덱스 - 각요소에 자동으로 붙는 번호이다
- 인덱스의 범위는 0 부터 배열길이-1 까지이다
- (ex) int[] ex = new int[3]의
요소는 ex[0],ex[1],ex[2]
- (ex) ex[1] = 100; 이면 ex의 2번째 요소에 100이 저장
배열의 길이
- 배열이름.length 를 통해 길이를 알수있다(int형)
- 배열은 한번 생성하면 실행하는 동안 그 길이를 바꿀 수 없다.
- 배열 크기만큼 메모리에서 빈곳을 찾아서 메모리를 배정해준다. 바로 뒤에 다른 메모리가 차지하고 있을 수 있기 때문에 배열을 늘릴 수 없다.
배열의 출력
배열의 활용
총합과 평균
최대값,최소값
배열 섞기
로또 번호
커맨드 라인 입력
2차원 배열
2차원 배열
- 테이블 형태의 데이터를 저장하기 위한 배열
- int[][] score = new int[4][3] // 4향 3열의 2차원 배열을 생성한다

2차원 배열의 초기화
- int[][] arr = { {1,2,3} , {4,5,6} } ;
String클래스, Arrays 사용
String 클래스
- String 클래스는 char[] 와 메서드를 결합한 것이다
String = char[]+메서드
- String 클래스는 내용 변경이 불가능 (read only)
ex) String a = "a";, String b = "b"; a= a+b 는 변경 된 값이 같은 메모리에 저장되는것이 아니라 새로운 메모리에 값이 저장된다.
String클래스의 주요 메서드
- char charAt(int index) : 문자열에서 해당 위치 문자를 반환한다.
- int length() : 문자열의 길이를 반환
- String substring(int from,int to) : 문자열에서 해당 범위의 문자열을 반환한다. (to 는 포함 x)
- boolean equals(Object obj) : 문자열의 내용이 같은지 확인한다.
- char[] toCharArray() : 문자열을 문자배열(char[])로 변환해서 반환한다.
Arrays클래스로 배열 다루기
- 배열 비교와 출력 : equals(),toString()
- 2차원 이상은 deep 사용
- 출력
System.out.println(Arrays.toString(배열이름))
System.out.println(Arraus.deepToString(2차원배열))
- 비교
System.out.println(Arrays.equals(배열1,배열2))
System.out.println(Arrays.deepEquals(2차원배열1,2차원배열2))
true,false로 반환
- 배열의 복사 : copyOf() , copyOfRange()
- copyof(복사할 배열, 복사할 요소의 갯수)
- copyofRange(배열,2부터,4까지복사)
- 배열의 오름차순 정렬 : Arrays.sort(배열명) 오름차순 정렬
- 내림차순 정룔 : Arrays.sort(arr,Collections.reverseOrder()); Collection 사용해야된다