ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 반복문과 배열
    Java 2025. 3. 5. 12:20

    ✅ 반복문

    반복문은 일정한 조건이 충족될 때까지 동일한 명령문이나 코드 블록을 반복 실행하도록 하는 제어문.

    이를 통해 반복적인 작업을 효율적으로 처리.

     

    ✅ for 문

    1️⃣ for 문의 기본구조

    for 문은 반복 시작 전, 종료 조건, 그리고 조건 변화 수식을 한 줄에 정의하여 반복 횟수를 명확하게 지정할 수 있음.

    for (시작조건; 종결조건; 조건변화수식) {
        // 반복 실행할 명령문
    }

    2️⃣ 예제: "안녕하세요!" 10번 출력

    for (int i = 1; i <= 10; i++) {
        System.out.println("안녕하세요!");
    }

     

    • 반복 횟수: 1회부터 10회까지
    • i의 값: 1, 2, 3, …, 10

    3️⃣ 활용 예제: 손님들에게 인사하기

    public class Robot {
        public static void main(String[] args) {
            int customers = 5;
            for (int i = 1; i <= customers; i++) {
                System.out.println(i + "번째 손님, 안녕하세요!");
            }
        }
    }

     

    4️⃣ break 문과 함께 사용하기

    break 문은 특정 조건이 만족되면 반복문을 종료시키는 역할

    public class Robot {
        public static void main(String[] args) {
            int customers = 5;
            for (int i = 1; i <= customers; i++) {
                if (i == 4) { // 4번째 손님이 나오면
                    break; // 반복문 탈출
                }
                System.out.println(i + "번째 손님, 안녕하세요!");
            }
            System.out.println("반복문이 종료되었습니다.");
        }
    }
    • 실행 결과: 1번째, 2번째, 3번째 손님에게만 인사하고 반복문 종료

    5️⃣ continue 문과 함께 사용하기

    continue 문은 현재 반복 작업을 건너뛰고 다음 반복으로 넘어가게 함.

    public class Robot {
        public static void main(String[] args) {
            int customers = 5;
            for (int i = 1; i <= customers; i++) {
                if (i == 2) { // 2번째 손님은 건너뛰기
                    continue;
                }
                System.out.println(i + "번째 손님, 안녕하세요!");
            }
            System.out.println("반복문이 종료되었습니다.");
        }
    }
    • 실행 결과: 1, 3, 4, 5번째 손님에게 인사

     

    ✅ while 문

    1️⃣ while 문의 기본 구조

    while 문은 종결 조건만 가지고 있으며, 조건식이 참(true)인 동안 반복

    while (종결조건) {
        // 반복 실행할 명령문
    }

     

    2️⃣ 예제: "안녕하세요!" 10번 출력

    int i = 1;
    while (i <= 10) {
        System.out.println("안녕하세요!");
        i++; // 조건 변경이 없으면 무한 루프 발생
    }
    • 주의: 조건식이 false가 될 수 있도록 적절한 조건 변화 수식을 작성해야 합니다.

     

    ✅ do-while 문

    1️⃣ do-while 문의 기본 구조

    do-while 문은 while 문과 유사하지만, 반드시 한 번은 실행되고 나서 조건을 검사

    do {
        // 반복 실행할 명령문
    } while (종결조건);

    2️⃣ 예제: "안녕하세요!" 10번 출력

    int i = 1;
    do {
        System.out.println("안녕하세요!");
        i++;
    } while (i <= 10);

     

    ✅ 배열이란?

     

    • 정의:
      비슷한 주제의 데이터들을 하나의 그룹으로 묶어 표현하는 방법.
      관련된 데이터를 편리하게 관리할 수 있도록 도와줌.
    • 사용 이유:
      모험가 100명, 1000명의 이름과 같이 많은 데이터를 변수 하나씩 선언하는 대신 배열을 활용하면 코드가 간결해지고 유지보수가 쉬워짐.
    // 변수로 모험가 이름 관리 (비효율적)
    String name1 = "gygim";
    String name2 = "Steve";
    String name3 = "Grace";
    // ... name1000까지
    
    // 배열로 모험가 이름 관리 (효율적)
    String[] adventurerList = {"gygim", "Steve", "Grace", /* ... */ };

     

     

    ✅ 배열의 기본 개념

    1️⃣ 배열의 길이 (Array Length)

     

    • 배열의 길이는 배열에 들어갈 수 있는 데이터 개수를 의미.
    • 중요: 배열을 생성할 때 지정한 길이는 변경할 수 없음.
    • 배열의 길이는 배열이름.length 로 확인할 수 있음.
    int[] adventurers = {"gygim", "Steve", "Grace"};
    int arrLength = adventurers.length; // 배열 길이 구하기

     

     

    2️⃣ 배열 선언 (Array Declaration)

    배열의 문법

    자료형[] 변수이름 = new 자료형[배열의길이]; // 배열선언

     

     

    • 방법 1: 변수 선언과 배열 생성(길이 설정)을 별도의 줄에서 진행
       
      int[] arr;          // 배열 선언
      arr = new int[5];   // 길이가 5인 배열 생성
    • 방법 2: 한 줄에서 배열 선언과 생성 동시에
       
      int[] arr = new int[5]; // 선언 및 길이 설정
    • 문자열 배열 예제:
       
      String[] arrA = new String[5];
    • 논리형 배열 예제:
       
      boolean[] arrB = new boolean[3];

     

    3️⃣ 배열의 요소 (Array Element)

     

    • 요소: 배열에 저장된 각각의 값
    • 배열은 선언과 동시에 초기값을 설정할 수도 있음.
    int[] arr = {10, 20, 30, 40, 50}; // 배열 선언과 동시에 요소 설정

     

    • 인덱스(Index): 배열의 요소에 접근하기 위한 번호이며, 0부터 시작합니다.
    System.out.println("배열의 1번째 요소 = " + arr[0]); // 10 출력
    System.out.println("배열의 2번째 요소 = " + arr[1]); // 20 출력
    // ...
    주의: 배열의 범위를 벗어난 인덱스로 접근하면 ArrayIndexOutOfBoundsException 에러가 발생.

     

    배열의 요소 삽입 및 수정

    배열의 각 요소는 인덱스를 통해 값 삽입과 수정이 가능.

    int[] arr = new int[5];
    arr[0] = 100; // 첫 번째 요소에 100 삽입
    arr[1] = 200; // 두 번째 요소에 200 삽입
    // ...
    System.out.println("arr[0] = " + arr[0]); // 100 출력

    ✅ 배열 탐색

    반복문을 사용하면 배열의 모든 요소를 손쉽게 탐색.

     

    1️⃣ 일반 for 문을 활용한 배열 탐색

    int[] arr = {1, 2, 3, 4, 5};
    for (int i = 0; i < arr.length; i++) {
        System.out.println("numbers[" + i + "] = " + arr[i]);
    }
    • 설명:
      인덱스 변수 i를 활용해 0부터 arr.length - 1까지 순회하면서 각 요소에 접근.

    .

    2️⃣ 향상된 for 문 (Enhanced for loop)

    향상된 for 문은 배열의 모든 요소를 하나씩 꺼내서 활용할 때 편리.

    int[] arr = {100, 200, 300, 400, 500};
    for (int a : arr) {
        System.out.println("배열의 각 요소 = " + a);
    }
    • 설명:
      인덱스를 직접 사용하지 않으므로 범위를 벗어나는 오류가 발생하지 않음.

    ✅ 2차원 배열

    2차원 배열은 행(row)과 열(column)로 구성된 데이터를 표현할 때 사용.
    예를 들어, 바둑판과 같이 좌표나 위치 정보를 표현할 때 유용.

     

    1️⃣ 2차원 배열 선언

    // 2 x 2 배열 선언 (빈 2차원 배열)
    boolean[][] board = new boolean[2][2];

    혹은 배열을 선언과 동시에 초기값을 설정할 수도 있습니다.

    boolean[][] board = {
        {true, false},   // 0행: 0열은 true, 1열은 false
        {false, true}    // 1행: 0열은 false, 1열은 true
    };

    2️⃣ 2차원 배열 탐색

    2차원 배열의 각 요소에 접근할 때는 행과 열의 인덱스를 함께 사용.

    System.out.println(board[0][0]); // 0행 0열 -> true
    System.out.println(board[0][1]); // 0행 1열 -> false
    System.out.println(board[1][0]); // 1행 0열 -> false
    System.out.println(board[1][1]); // 1행 1열 -> true

     

    'Java' 카테고리의 다른 글

    [Java] 메서드란  (1) 2025.03.05
    [Java] 연산자와 조건문  (0) 2025.03.05
    [Java] 변수와 입출력  (0) 2025.03.05
    [Java] 명명 규칙 및 패키지, 클래스  (1) 2025.03.05
    [Java] Java란?  (1) 2025.02.25
Designed by Tistory.