🗄️ Backend/Java

JAVA 배열과 제어문(반복문) 정리

hjwjo 2024. 10. 10. 11:05

1. 배열(Array)이란?

배열은 같은 데이터 타입의 여러 값을 한 번에 저장하고 관리할 수 있는 자료 구조입니다. 배열을 사용하면 여러 변수를 따로 선언하지 않아도 하나의 변수로 여러 데이터를 처리할 수 있어 코드가 간결해집니다.

배열의 특징

  • 동일한 데이터 타입만 저장 가능 (Homogeneous Collection)
  • 배열의 크기는 고정적이며, 한 번 생성되면 변경할 수 없습니다.
  • 배열은 0번 인덱스부터 시작합니다.
  • 배열의 길이는 배열명.length로 확인할 수 있습니다.

배열의 구조

  1. 배열 선언:위 코드는 정수형(int) 데이터를 담을 배열 a를 선언합니다.
  2. int[] a; // 또는 int a[];
  3. 배열 생성:배열 a를 크기 4로 생성하여, 4개의 정수를 저장할 수 있습니다.
  4. a = new int[4];
  5. 배열 초기화:
    배열에 값을 넣는 과정입니다. 배열의 인덱스에 값을 할당하여 초기화합니다.
  6. a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4;

배열 선언, 생성, 초기화를 동시에 하는 방법

int[] b = {10, 20, 30, 40};  // 배열 선언과 동시에 생성 및 초기화

2. 자바 배열 사용법

배열의 선언, 생성, 초기화 예시

public class ArrayEx {
    public static void main(String[] args) {
        // 배열 선언
        int[] arr;

        // 배열 생성
        arr = new int[5];

        // 배열 초기화
        arr[0] = 10;
        arr[1] = 20;
        arr[2] = 30;
        arr[3] = 40;
        arr[4] = 50;

        // 배열 사용
        System.out.println("첫 번째 값: " + arr[0]);

        // 배열 값 변경
        arr[0] = 100;
        System.out.println("변경된 첫 번째 값: " + arr[0]);

        // 배열 출력
        System.out.println(java.util.Arrays.toString(arr));

        // 배열의 길이 출력
        System.out.println("배열의 길이: " + arr.length);

        // 배열의 마지막 값 출력
        System.out.println("배열의 마지막 값: " + arr[arr.length - 1]);
    }
}

위 코드는 배열 선언, 생성, 초기화, 그리고 배열 값의 변경 및 출력 방법을 보여줍니다.

배열의 합계와 평균 구하기

배열의 값들을 더하거나 평균을 구할 수 있습니다.

int[] arr = {1, 2, 3, 4, 5};
int sum = 0;

for (int i = 0; i < arr.length; i++) {
    sum += arr[i];
}

System.out.println("합계: " + sum);
System.out.println("평균: " + (double)sum / arr.length);

3. 자바 제어문

제어문은 조건에 따라 프로그램의 흐름을 제어하거나, 반복해서 실행되는 문장을 작성할 때 사용됩니다. 자바의 제어문은 크게 조건문, 반복문, 탈출문으로 나뉩니다.

조건문 - if, if ~ else, else if

if문은 조건에 따라 다른 코드 블록을 실행할 수 있게 해줍니다.

기본 형태

int num = 10;
if (num > 0) {
    System.out.println("양수입니다.");
} else if (num < 0) {
    System.out.println("음수입니다.");
} else {
    System.out.println("0입니다.");
}

중첩된 if문과 else if

여러 조건을 나열할 수 있으며, 조건을 만족하는 블록이 하나라도 실행되면 나머지 조건은 무시됩니다.

int score = 85;
if (score >= 90) {
    System.out.println("A 학점");
} else if (score >= 80) {
    System.out.println("B 학점");
} else {
    System.out.println("C 학점");
}

반복문 - for, while, do-while

반복문은 코드를 여러 번 실행할 때 사용됩니다.

for

for (int i = 0; i < 5; i++) {
    System.out.println("반복문 실행: " + i);
}

while

int i = 0;
while (i < 5) {
    System.out.println("while 반복문 실행: " + i);
    i++;
}

do-while

조건에 상관없이 최소 한 번은 실행됩니다.

int i = 0;
do {
    System.out.println("do-while 실행: " + i);
    i++;
} while (i < 5);

향상된 for

자바의 향상된 for문은 배열이나 리스트 등 컬렉션을 순회할 때 유용합니다.

int[] arr = {1, 2, 3, 4, 5};
for (int num : arr) {
    System.out.println(num);
}

탈출문 - break, continue

  • break: 반복문을 즉시 종료시킵니다.
  • continue: 반복문의 나머지 부분을 건너뛰고 다음 반복을 실행합니다.
for (int i = 0; i < 5; i++) {
    if (i == 3) {
        break;  // 3에서 반복문을 종료
    }
    System.out.println(i);
}

for (int i = 0; i < 5; i++) {
    if (i == 3) {
        continue;  // 3은 건너뛰고 다음 반복 실행
    }
    System.out.println(i);
}

4. switch

switch 문은 값에 따라 여러 경우 중 하나를 선택하여 실행할 때 사용됩니다.

switch 문 기본 형태

int day = 3;
switch (day) {
    case 1:
        System.out.println("월요일");
        break;
    case 2:
        System.out.println("화요일");
        break;
    case 3:
        System.out.println("수요일");
        break;
    default:
        System.out.println("주말");
        break;
}

문자열을 사용하는 switch

String fruit = "사과";
switch (fruit) {
    case "사과":
        System.out.println("사과의 가격은 3만원입니다.");
        break;
    case "수박":
        System.out.println("수박의 가격은 4만원입니다.");
        break;
    default:
        System.out.println("해당 과일은 없습니다.");
        break;
}

마무리

자바의 배열제어문을 이해하면 프로그램의 흐름을 제어하고 데이터를 관리하는 데 매우 유용합니다. 배열은 데이터를 효율적으로 저장하고 관리할 수 있으며, 제어문은 프로그램의 동작을 유연하게 제어할 수 있습니다. 이를 통해 효율적인 코드를 작성할 수 있습니다.