ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (4주차 26일) 제어문 실습(조건문, 반복문, 분기문)
    수업 내용 정리 2024. 6. 8. 12:17

    Java

    제어문

    > 조건문: 특정 조건에 따라 코드 실행

    • if문
      1. if문
      2. if - else문
      3. if - else if - else문
    // if
    if(조건식) {
        // 실행 코드
    }
    
    // if - else
    if(조건식) {
        // 실행 코드
    } else {
        // 실행 코드
    }
    
    // if - else if - else
    if(조건식) {
        // 실행 코드
    } else if(조건식) {
        // 실행 코드
    } 
    // else if 문의 수는 제한이 없다.
    ... 
    else {
        // 실행 코드
    }
    • switch문
      1. switch 문은 조건식의 결과값이(계산식, 변수, 리터럴) 어떤 값(정수, 문자, 문자열)을 갖느냐에 따라 실행문이 선택된다.
      2. if문과 달리, 코드를 실행하고 조건문을 빠져나가기 위해 break 문이 필요하다.
    switch(값) { 
        case 값1 : 
            // 실행 코드; 
            break; 
        case 값2 : 
            // 실행 코드; 
            break; 
        ... 
        default : 
            // 실행 코드;
    }
    • 참고: 리터럴의 비교 연산
    /**
     * 참고
     * 리터럴로 작성되는 경우 비교 연산
     */
    // 1. 스택 영역에 str1 변수 생성, 힙 영역의 상수 풀에 "홍길동" 문자열 저장하고 주소값 배정 
    //    -> str1에 해당 주소값을 할당함
    String str1 = "홍길동";
    // 2. 힙 영역에 기존에 같은 문자열이 저장되어 있으므로, 해당 주소값을 str2에 할당
    String str2 = "홍길동";
    // 3. new String()을 통해 힙 영역에 새로 문자열을 저장하므로 새로운 주소값을 배정받고 할당
    String str3 = new String("홍길동");
    
    // 예시
    // 같은 주소값을 배정받았기 때문에 true 반환되는 경우
    System.out.println(str1 == str2);
    System.out.println("홍길동" == "홍길동");
    // 새로운 주소값을 할당받았으므로 false가 반환되는 경우
    System.out.println("홍길동" == new String("홍길동"));
    
    // equals 메소드: 내부적으로 데이터를 비교하여 같으면 true, 다르면 false
    System.out.println("홍길동".equals("홍길동"));
    System.out.println("홍길동".equals(new String("홍길동")));
    System.out.println("홍길동".equals(name));

     


    > 반복문: 특정 코드를 반복적으로 실행

    • for문: 주어진 횟수만큼 코드를 반복 실행
      1. for문
      2. 향상된 for문
    // for
    for(초기식; 조건식; 증감식) {
        // 실행 코드
    }
    
    // 향상된 for
    for(변수 : 배열or컬렉션) {
        // 실행 코드
    }

     

    • while문: 조건식이 true인 경우에 코드를 반복 실행. 반복문을 빠져나가기 위한 증감식, 분기문이 필요
      1. while문
      2. do-while문
    //while
    while(조건식) {
        // 실행 코드
        // 증감식 or 분기문
    }
    
    //do-while
    do {
        // 실행 코드
        // 증감식 or 분기문
    } while(조건식);


    > 분기문: 반복을 멈추거나, 조건식으로 이동하는 경우 사용

    • break문
      1. break 문은 switch 문과 for 문, while 문, do-while 문의 실행을 중지하고 빠져나갈 때 사용한다.
      2. 반복문이 중첩되어 있는 경우 break 문이 포함되어 있는 반복문만 중지하고 빠져나간다.
    while(true) {
        for(int i = 0; i < 10; i++ ) {
            if (i == 5) {
                break;
            }
    
            System.out.println("i : " + i);
        }
    }
    • continue문
      1. continue 문은 반복문에서 이후의 문장을 실행하지 않고 증감식 또는 조건식으로 이동할 때 사용한다.
      2. 반복문이 중첩되어 있는 경우 continue 문이 포함되어 있는 가장 가까운 반복문의 증감식 또는 조건식으로 이동한다.
    while(true) {
        for(int i = 0; i < 10; i++ ) {
            if (i == 5) {
                continue;
            }
    
            System.out.println("i : " + i);
        }
    }