☕JAVA/🐣 강의 [JAVA]

[JAVA][기초] 배열 Array

디카페인라떼 2022. 11. 7. 19:08

[기초] 시리즈는 본강의를 수강후 정리한 글들 입니다.

Java for Beginner - YouTube

 

Java for Beginner

[교재 link] https://github.com/namoosori/java-for-beginner/tree/master/doc Java for Beginner 강의에서 다루는 내용은 다음과 같습니다. - Java 개요 : Java 언어가 어떤 언어이고 Java 언어를 이용해 프...

www.youtube.com


배열 Array

  • 배열은 동일한 타입의 값들을 저장할 수 있는 자료구조
  • 배열에 담기는 각각의 값들은 인덱스 번호를 통해 접근 가능

 

배열의 선언

  • 문법 : 배열 요소의 타입 [] 배열명;
 int [] a; 
 또는 
 int a[]; <- C언어 방식/ 자바에서는 사용하지 않음.
  • 선언된 배열은 초기화 후에 사용 가능

배열의 생성

  • 문법 : 변수면 = new 배열 요소의 타입 [요소 수];
  • 배열을 나타내는 변수에 새로운 배열을 생성하여 할당
int [] a;
a = new int [100];
  • 배열 선언과 동시에 새로운 배열을 생성할 수도 있음.
int [] a = new int [100];

배열 초기화

  • 자바는 배열 생성과 동시에 값을 초기화 할 수 있는 문법을 제공 (배열 선언 시에만 사용)
int[] months = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} ;
			
int[] months; <- 선언문
months = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} ; => X

배열 복사

  •  배열 변수를 복사하는 경우, 참조변수만 복사되어 실제로는 두 변수가 동일한 배열을 참조
int [] a = new int [5];
int [] b = a;
b[0] = 5; // a[0]의 값도 변경됨
  • Arrays.copyOf() 메소드는 배열의 내용까지 복사함.
int[] copy = Arrays. copyOf( a, a.length );
  • 배열 복사와 동시에 배열의 크기를 늘릴 수 있음. 
int[] copyDoubleSize = Arrays. copyOf( a, 2 * a.length );

배열 정렬 Sorting

  • Arrays.sort() 메소드는 배열 내부의 요소 element를 정렬
int[] a = {2,8,6,3,1,10};
Arrays.sort(a); // a => {1,2,3,6,8,10};
  • 다차원 배열

  • 가변 배열 Ragged Array
    • 사실 자바는 다차원 배열을 가지고 있지 않음. 단지 배열의 요소가 배열인 것.
    • 이러한 특성을 이용하면 가로의 길이가 일정하지 않은 배열을 생성가능한데 이것이 Ragged Array

반복문

  • 배열과 같이 집합을 나타내는 자료형은 요소를 반복하기 위하며 반복문을 사용
  • 배열 요소의 인덱스 값은 0부터 시작
  • for each 문은 집합의 요소를 처음부터 끝까지 반복