1. 배열 : 자료를 순차적으로 관리하는 구조 / 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
- 배열 선언과 생성
1. 자료형 [] 배열이름 = new 자료형[];
-> 배열 선언 -> 배열 생성
2. 자료형 배열이름[] = new 자료형 [];
- 배열 생성과 초기화
1. 자료형[] 배열이름 = new 자료형[] {초기화1, 초기화2, 초기화3};
-> 배열 선언 -> 배열 생성 -> 배열초기화
2.자료형[] 배열이름 = {초기화1, 초기화2, 초기화3};
- 배열의 길이 (배열이름.length)
1. 0번째 요소를 배열의 첫째자리
인덱스 번호는 0 ~ 배열길이-1
* 길이가 0인 배열도 생성 가능
* 배열은 한 번 생성하면 길이를 변경할 수 없음
- 배열의 길이 변경
* 기존 배열의 길이를 변경할 수 없기 때문에 길이가 더 큰 배열을 생성해서 복사해야 한다.
복사방법1. for문과 길이가 더 큰 배열 생성하기
arr1 의 배열길이를 2배로 하는 tmp 배열 생성 arr1 => { 1, 2}. -> tmp = >{ 0, 0, 0, 0}
-> for문을 이용하여 배열 arr1 요소들을 배열 tmp에 복사 tmp => { 1, 2, 0, 0}
-> arr1 =tmp; // 변수 tmp에 저장된 값을 변수 arr1에 저장한다.
-> arr1과 tmp는 같은 배열을 가리키게 됨.
복사방법2. System.arraycopy()
arraycopy()
어느 배열(abc)의 몇번째요소(0)에서 어느 배열로(num) 몇 번째 요소(1)부터 시작해 몇 개의 값 복사(3)
-> abc의 0번째 요소부터면 'A'부터-> num의 1번째요소는 '1' 부터 3개 원하므로 '1''2''3'에 복사
-> num => { '0' ,'A', 'B', 'C', '4', '5', '6', '7' }
예제5_5
예제5_6
--> 최대값과 최소값을 socre[0]으로 지정하여 score[1]부터 차례대로 반복하며(for) 비교(if-else) 하며 최대, 최소 찾음
예제5_7
섞기의 포인트 ; 배열의 값을 바꾸기 위해서는 임시공간을 하나 만들어서 보관하고 있어야 함!
예제5_8(섞기)
예제5_9
예제5_10
비교 수에 -1, -1-i가 이해되지 않아 그려서 첨부
또한 자리바꿈이 없으면 break문을 수행하기 때문에 출력이 길어질수도 짧아질수도 있음!
예제5_11
- num = { 1 ,3, 4, 5, 3, 7, 7, 4, 4, 1} 라면
--> counter에 num[0] = 1 --> 1을 counter[1]로 가서 +1
---> num[1] = 3 -> 3을 counter[3]로 가서 +1 --> num[2] = 4--> 4를 counter[4]로 가서 +1 .....
참고 : 자바의정석(남궁성)
'JAVA' 카테고리의 다른 글
JAVA_객체지향 프로그래밍1(OOP, 클래스, 객체, 인스턴스) (0) | 2021.07.28 |
---|---|
JAVA_배열(String 배열, 다차원배열) 2 (0) | 2021.07.27 |
JAVA_도형 만들기(반복문) (0) | 2021.07.25 |
JAVA_반복문(for, while, do-while) (0) | 2021.07.25 |
JAVA_반복문(if, switch) (0) | 2021.07.24 |
댓글