포스트

Java의 향상된 for 문, 배열 출력 방법, 최댓값 및 최솟값

강의 내용 복습 : 코리아IT 신촌점 Java 강의 (2024-04-23 강의)

  • Tool :
    Java Eclipse


🔔 배열의 최댓값 및 최솟값

📌 배열 선언 및 조건문 생성

  • 정수 데이터를 참조하는 arr 배열을 생성하였습니다.
  • arr 배열에는 1부터 100까지의 랜덤의 정수를 참조하게 설정하였습니다.
  • 배열에 할당된 데이터의 최댓값 및 최솟값은 조건문을 이용하여 출력하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public static void main(String[] args) {

    // 정수 데이터를 10개 참조할 수 있는 배열을 생성하였습니다.
    int[] arr = new int[10];

    // arr 배열의 각 인덱스 당 1 ~ 100까지의 정수 중 하나를 참조하게 하였습니다.
    for(int i = 0; i < arr.length; i++) {
        int rand = (int)(Math.random() * 100) + 1;
        arr[i] = rand;
    }

    // arr 배열이 참조하고 있는 데이터를 출력하였습니다.
    // Arrays는 java의 util에서 정의된 class입니다.
    // toString은 한 배열에 할당된 전체 데이터를 출력하기 위해 사용되었습니다.
    System.out.println("arr 배열 배열 = " + Arrays.toString(arr));
    // arr 배열의 주소를 출력하였습니다.
    System.out.println("arr 배열 주소 = " + arr);
    
    // 최댓값 및 최솟값 산출을 위한 max 및 min 변수를 생성하였습니다.
    int max = Integer.MIN_VALUE;
    int min = Integer.MAX_VALUE;
    
    // for 반복문을 이용하여 max 및 min 변수가 arr 배열이 참조하는 데이터를 치환하게 설정하였습니다.
    // for 반복문이 i 정수가 arr 배열의 크기(10)만큼 반복되도록 설정하였습니다.
    for(int i = 0; i < arr.length; i++) {
        // max 변수의 초기값은 Java에서 정의한 Integer class의 최솟값이며 -21억 정도입니다.
        // (int)0x80000000
        // max의 초기값이 arr[0] 인덱스가 참조하는 데이터보다 작을 경우 arr[0] 인덱스가 참조하는 데이터를 max 변수가 참조하도록 설정하였습니다.
        if (max < arr[i]) {
            // arr 배열 내 데이터의 최댓값은 정수 i가 0부터 9까지 10회 반복하는 과정에서 arr 배열에 할당된 데이터 중 최종적으로 max 변수에 할당된 데이터입니다.
            max = arr[i];
        }
        // min 변수의 초기값은 Java에서 정의한 Integer class의 최댓값이며 21억 정도입니다.
        // (int)0x7fffffff
        // min의 초기값이 arr[0] 인덱스가 참조하는 데이터보다 클 경우 arr[0] 인덱스가 참조하는 데이터를 min 변수가 참조하도록 설정하였습니다.
        if (min > arr[i]) {
            // arr 배열 내 데이터의 최솟값은 정수 i가 0부터 9까지 10회 반복하는 과정에서 arr 배열에 할당된 데이터 중 최종적으로 min 변수에 할당된 데이터입니다.
            min = arr[i];
        }
    }
    
    System.out.println("arr 배열의 최댓값 = " + max + ", arr 배열의 최솟값 = " + min);

// 출력 내용
// arr 배열 배열 = [88, 61, 19, 89, 41, 20, 58, 49, 31, 93]
// arr 배열 주소 = [I@76fb509a
// arr 배열의 최댓값 = 93, arr 배열의 최솟값 = 19


🔔 배열 출력 방법

📌 인덱스, 향상된 for 반복문, toString

  • 배열에 할당된 전체 데이터를 출력하는 방법은 크게 세 가지로 구분됩니다.
  • 배열의 인덱스, 향상된 for 반복문, toString 메서드로 할당된 데이터 출력이 가능합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public static void main(String[] args) {

    // 실습을 위한 arr 배열을 생성하였습니다.
    int[] arr = new int[10];

    // 실습을 위하 arr 배열에 값을 할당시켰습니다.
    for(int i = 0; i < arr.length; i++) {
        int rand = (int)(Math.random() * 100) + 1;
        arr[i] = rand;
    }

    // 배열 출력 방법 1 : 반복문 및 배열의 인덱스 이용
    for(int i = 0; i < arr.length; i++) {
        System.out.print(arr[i] + "\t");
    }
    
    System.out.println();
    
    // 배열 출력 방법 2 : 향상된 for 반복문 이용
    for(int value : arr) {
        System.out.print(value + "\t");
    }
    
    System.out.println();
    
    // 배열 출력 방법 3 : Arrays.toString 이용
    // Java의 util에 정의된 Arrays class의 toString 메서드를 이용하였습니다.
    System.out.println(Arrays.toString(arr));

}


🔔 향상된 for 반복문

📌 향상된 for 반복문의 개념과 작동 원리

  • 향상된 for 반복문은 반복 가능한 인터페이스를 구현하는 컬렉션 타입에 적용시킬 수 있습니다.
  • 그에 대한 예시는 배열, 리스트, 트리, 해쉬 등으로 반복 가능한(iterable) 것들입니다.
  • 향상된 for 반복문은 iterable 객체의 모든 요소를 순회할 때까지 자동으로 반복 실행됩니다.
  • 각 반복 때마다 배열의 인덱스에 따른 다음 요소에 순차적으로 접근합니다.
  • 따라서 특정 조건을 적용시킬 필요가 없다면 for 반복문을 사용하는 것이 유용합니다.
  • 개발자가 인덱스를 직접 관리할 필요가 없어지기 때문에 코드가 간결해지기 때문입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
    
    // int 1~5를 참조하는 arr 배열을 생성하였습니다.
    int[] arr = {1,2,3,4,5};
    
    // 반복한다는 뜻의 iterate의 명사형을 변수명으로 사용하였습니다.
    // 배열에 시작부터 끝까지 순회하는 향상된 for 반복문을 생성하였습니다.
    // arr 배열의 요소를 iterator 변수(반복문의 변수)에 할당시켰습니다.
    for(int iterator : arr) {
        // 정의된 iterator 변수를 이용하여 배열 요소를 출력하였습니다.
        System.out.print(iterator + "\t");
    }
    
}




이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
<>