제어문

    1) 조건문

     

    제어문(control flow statements)

     

    자바 프로그램이 원하는 결과를 얻기 위해 프로그램의 순차적인 흐름을 제어해야 하는 경우가 생기는데

    이 때 사용하는 명령문

    중괄호({})로 둘러싸여 있으며, 이러한 중괄호 영역을 블록(block)이라고 함

     

    조건문(conditional statments)

     

    1. if 문
    2. if / else 문
    3. if / else if / else 문
    4. switch 문

     

    if 문

     

    조건식의 결과가 참(true)이면 주어진 명령문을 실행하고, 거짓(false)이면 아무것도 실행하지 않음

    if (조건식) {
    
        조건식의 결과가 참일 때 실행하고자 하는 명령문;
    
    }

     

    if / else 문

     

    else문은 주어진 조건식의 결과가 거짓(false)이면  주어진 명령문을 실행

    if (조건식) {
    
        조건식의 결과가 참일 때 실행하고자 하는 명령문;
    
    } else {
    
        조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
    
    }

     

    if / else if / else 문

     

    if (조건식1) {
    
        조건식1의 결과가 참일 때 실행하고자 하는 명령문;
    
    } else if (조건식2) {
    
        조건식2의 결과가 참일 때 실행하고자 하는 명령문;
    
    } else {
    
        조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
    
    }

     

    삼항 연산자에 의한 조건문

     

    간단한 if / else 문을 삼항 연산자를 이용해 간결하게 표현할 수 있음

     

    조건식 ? 반환값1 : 반환값2

     

    switch 문

     

     if / else 문과 마찬가지로 주어진 조건 값의 결과에 따라 프로그램이 다른 명령을 수행하도록 하는 조건문

    switch (조건 값) {
    
        case 값1:
    
            조건 값이 값1일 때 실행하고자 하는 명령문;
    
            break;
    
        case 값2:
    
            조건 값이 값2일 때 실행하고자 하는 명령문;
    
            break;
    
        ...
    
        default:
    
            조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
    
            break;
    
    }

     

     

    2) 반복문

     

    반복문(iteration statements)

     

    프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문

     

    1. while 문

    2. do / while 문

    3. for 문

    4. Enhanced for 문

     

    while 문

     

    특정 조건을 만족할 때까지 계속해서 주어진 명령문을 반복 실행

    조건식의 검사를 통해 반복해서 실행되는 반복문을 루프(loop)라고 함

    while 문 내부에 조건식의 결과를 변경하는 변경문이 존재하지 않을 때 프로그램이 영원히 반복되는 무한 루프(infinite loop)에 빠지게 됨 -> 반드시 피해야 하는 상황

     

    while (조건식) {
    
        조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
    
    }

     

    do / while 문

     

    루프를 한 번 실행한 후 조건식을 검사

    조건식의 결과와는 상관없이 무조건 한 번은 루프를 실행

    do {
    
        조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
    
    } while (조건식);

     

    for 문

     

    while 문과는 달리 자체적으로 초기식, 조건식, 증감식을 모두 포함하고 있는 반복문

    for (초기식; 조건식; 증감식) {
    
        조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
    
    }

     

     

    Enhanced for 문

     

    JDK 1.5부터 Enhanced for 문이라는 반복문이 추가됨

    컬렉션 프레임워크와 배열에서 유용하게 자주 사용됨

     

     

    3) 기타 제어문

     

    루프의 제어

     

    continue 문과 break 문은 일반적인 루프의 흐름을 사용자가 직접 제어할 수 있도록 도와줌

     

    continue 문

     

    루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 해줌

    // 1부터 100까지의 정수 중에서 5의 배수와 7의 배수를 모두 출력하는 예제
    for (int i = 1; i <= 100; i++) {
    
        if (i % 5 == 0 || i % 7 == 0) {
    
            System.out.println(i);
    
        } else {
    
            continue;
    
        }
    
    }

     

    break 문

     

    루프 내에서 사용하여 해당 반복문을 완전히 종료시킨 뒤, 반복문 바로 다음에 위치한 명령문을 실행

    // 1부터 100까지의 합을 무한 루프를 통해 구하는 예제
    int num = 1, sum = 0;
    
     
    
    while (true) { // 무한 루프
    
        sum += num;
    
        if (num == 100) {
    
            break;
    
        }
    
        num++;
    
    }
    
    System.out.println(sum);

     

     

     

    출처 : http://www.tcpschool.com/

    'JAVA' 카테고리의 다른 글

    클래스  (0) 2022.08.07
    배열  (0) 2022.08.02
    연산자  (0) 2022.08.01
    타입  (0) 2022.08.01
    자바 시작  (0) 2022.08.01

    댓글