17강. 배열과 ArrayList

철새·2022년 2월 20일
0
  • Do it! 자바 프로그래밍 입문 온라인 강의를 수강하며 작성하였습니다.
  • Section 1. 자바의 핵심 - 객체지향 프로그래밍
  • 17강 "배열과 ArrayList"
  • 배열

배열 선언

  • 자료형[] 배열이름 = new 자료형[개수];
    int[] arr = new int[10];
  • 자료형 배열이름[] = new 자료형[개수];
    int arr[] = new int[10];

배열 초기화

  • 배열은 선언과 동시에 초기화 할 수 있다.
  • 배열을 초기화 할 때는 배열의 개수를 명시하지 않는다.
int[] studentIDs = new int[10]					//배열을 선언할 땐 배열의 길이를 명시
int[] studentIDs = new int[] {101, 102, 103};	//선언과 동시에 초기화 할 땐 개수 생략
int[] studentIDs = new int[3] {101, 102, 103};	//오류 발생
int[] studentIDs = {101, 102, 103};				//new를 안써도 int형 요소가 3개인 배열 생성

배열을 선언할 땐 배열의 길이를 반드시 명시해야 하고, 선언과 동시에 초기화할 때에는 개수를 생략해야 한다. 선언과 동시에 초기화할 땐 new 키워드를 쓰지 않아도 해당 길이만큼의 배열이 선언된다.

선언 이후에 초기화를 따로 할 때는 아래와 같이 작성하면 된다.

int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;

배열을 선언하고 초기화를 따로 하지 않으면 기본값으로 배열이 초기화 된다.
(int형은 0, double형은 0.0, 객체 배열은 null로 초기화가 된다.)

배열 사용

  • [](인덱스 혹은 첨자 연산자)를 이용하여 배열의 위치를 지정하여 자료를 가져온다.
  • 모든 배열의 순서는 0부터 시작한다.
  • n개 배열은 0 부터 n-1 위치까지 자료가 존재한다.
double[] nums = new double[5];
nums[0] = 10.0;
nums[1] = 20.0;
nums[2] = 30.0;
		
for(int i=0; i<nums.length; i++) {
		System.out.println("nums[" + i + "] = " + nums[i]);
}

만약 nums 배열에서 초기화된 값들을 모두 곱하고 싶은 경우에는 자동으로 초기화된 0.0을 제외하고 곱해줘야 한다. 따라서 변수를 따로 설정하여 초기화한 개수를 세어주는 방법을 이용할 수 있다.

double[] nums = new double[5];
int size = 0;
nums[0] = 10.0; size++;
nums[1] = 20.0; size++;
nums[2] = 30.0; size++;

double total = 1;
for(int i=0; i<size; i++) {
	total *= nums[i];
}

아래는 알파벳을 각각의 배열에 넣어주는 방법에 대한 예제이다.

char[] alphabets = new char[26];
char ch = 'A';
		
for(int i=0; i<alphabets.length; i++, ch++) {
	alphabets[i] = ch;
	System.out.println("alphabets[" + i + "] = " + alphabets[i]);
}

이번 시간에는 기본 자료형을 이용한 배열만 다루었고, 다음 강의에서는 String, 객체 배열을 다룰 예정이다.

profile
효율성을 추구하며 세상을 떠도는 철새입니다.

0개의 댓글

관련 채용 정보