본문 바로가기

Java/Java 기본

CH04 조건문

4.1 코드 실행 흐름 제어

* 흐름제어문 = 제어문

  제어문은 조건식과 중괄호 { } 블록으로 구성되는데, 조건식의 연산 결과에 따라 블록 내부의

실행 여부가 결정

제어문의 종류 : 조건문 , 반복문

                      → 조건문 : if, switch문 / 반복문 : for, while, do-while

루핑(looping) : 반복문일 경우 제어문 처음으로 다시 되돌아가 반복 실행

제어문 블록 내부에 다른 제어문 사용가능

4.2 조건문(if, switch)

 4.2.1 if

    * if문은 조건식의 결과에 따라 블록 실행 여부가 결정

 4.2.2 if-else

   * if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택

            → 조건식이 false이면 else 블록이 실행되고, 조건식이 true이면 if문의 블록이 실행

            조건식의 결과에 따라 하나의 블록만 실행

4.2.3 if-else if-else

* 처음 if문의 조건식이 false일 경우 다른 조건식의 결과에 따라 실행 블록을 선택

        → if블록 끝에 else if문을 붙이면 되며, else if문의 수는 제한이 없다.

        여러 개의 조건식 중 true 되는 블로간 실행하고, 전체 if문을 벗어남.

        else if문 블록 마지막에는 else블록을 추가 가능하며, 모든 조건식이 false 인 경우

        else 블록을 실행하고 if문을 벗어난다.

참고) boolean express

& 앞뒤 모두 확인 보통 아이디 비번 같은 것에 사용

&& 앞이 false이면 굳이 뒤에 것 확인 안함

| 둘다 모두 확인

|| 앞이 true이면 굳이 뒤에 것 확인 안함

 4.2.5 switch

   * switch문은 if문 처럼 조건식이 true일 경우에 블록 내부의 실행문을 실행 하는 것이

    아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택

          → if문은 조건식의 결과가 true, false 두가지 밖에 없기 때문에 경우의 수가 많아 질수록 else-if를 반복적으로

             추가 해야 하므로 코드가 복잡해지지만, switch문은 변수의 값에 따라서 실행문이 결정 되므로 if문 보다

             코드가 간결

4.3 반복문(for, while, do-while)

     * 반복문은 어떤 작업(코드들)이 반복적으로 실행되도록 할 때 사용 
반복문의 종류 : for, while, do-while

              for: 반복 횟수를 알고 있을 경우 주로 사용

              while: 조건에 따라 반복될 경우 사용

              while문과 do-while문의 차이 : 조건을 먼저 검사하느냐 나중에 검사하는냐

 4.3.1 for

1. for문이 처음 실행 될 때 초기화식이 제일 먼저 실행

2. 그런 다음 조건식을 평가해서 true실행문을 실행시키고, false 이면, for문을

실행 하지 않고 끝나게 됨.

3. 블록내부의 실행 문들이 모두 실행되면 증감식을 실행시키고 다시 조건식을 평가

4. 평가결과가 true 이면 ③→④→②로 다시 진행하고, false이면 for문이 종료

  * 초기화식의 역할은 조건식과 실행문, 증감식에 사용할 변수를 초기화하는 역할

  ① 초기화식이 필요없는 경우

ex1)  int i = 1;
            for( ; i <= 100 ; i++ ){
            …….
}

  ②  증감식이 둘 이상인 경우 쉼표( , ) 로 구분

ex1) for( int i = 0, j=100 ; i <= 50 && j >= 50 ; i++, j-- ){
         ….…
    }

주의) for문 작성시 주의할 점 : 초기화식에서 루프 카운트 변수를 선언할 때 부동 소수점 타입을 사용하지 않는다.

ex) for( float x = 0.1f ; x <= 1.0f ; x += 0.1f ){
       …………
// 0.1은 float 타입으로 정확하게 표현이 불가능 하기 때문에 실제 x에 
// 더해지는 값은 0.1보다 약간 크다.
}
* for (초기화; 조건식; 증감식){  //반복횟수가 정해졌을경우
            …………
}

4.3.2 while

   * while문은 조건식이 true일 경우에 계속해서 반복

     조건식이 false가 되면 반복 행위를 멈추고 whlie문을 종료

1. while문이 처음 실행될 때 조건식을 평가

2. 평가 결과가 true이면 실행문을 실행한다.

3. 실행문이 모두 실행문이 모두 실행되면 다시 조건식으로 되돌아가서 조건식을

다시 평가

4. 만약 조건식이 true라면 ②→①로 다시 진행하고, false라면 while문을 종료

   * 키보드키코드

ex) int keyCode = System.in.read();

* while(조건식){
} // 조건에 따라 횟수가 달라질 경우

4.3.3 do-while

    * while문은 시작 할 때부터 조건식을 검사하여 블록 내부를 실행할지 결정하지만, 경우에 따라서는 블룩 내부의 실행문을 우선 실행시키고, 실행 결과에 따라서 반복실행 여부를 결정한다. 이 때 do-while문이 사용된다.

주의) while() 뒤에는 반드시 세미콜론(;)을 붙여야 한다.

1. do-while문이 처음 실행될 때 실행문을 우선 실행

2. 실행문이 모두 실행되면 조건식을 평가하는데, 그 결과가 true이면 ①→②와 같이 반복 실행을 함.

3. 조건식의 결과가 false 이면 do-while문을 종료

     * do{
      }while(조건검사); //반드시 한번 수행하고 이후에 조건검사

 4.3.4 break

   * break 문은 바복문인 for, while, do-while문을 실행 중지할 때 사용되며, switch문에서도 break문을 사용하여 switch문을 종료

※주의) 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료시키지 않음.

          중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면바깥쪽 반복문에 이름(라벨)을 붙이고, “break 이름;”을 사용

 4.3.5 continue

   * continue문은 반복문인 forwhile, do-while문에서만 사용되는데, 블록 내부에서 continue

문이 실행되면 for문의 증감식 또는 while, do-while문의 조건식으로 이동함.

  1. contine문은 반복문을 종료하지 않고 계속 반복을 수행한다는 점이 break문과 다름.

  2. break문과 마찬가지로 continue문도 대개 if문과 같이 사용되는데, 특정 조건을 만족하는 경우에 continue문을 실행해서 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어감.

      주의) breakcontinue 비교

                break : 해당 반복문을 빠져나감

                continue : 해당 반복문의 처음으로 감

'Java > Java 기본' 카테고리의 다른 글

CH03. 연산자  (0) 2020.04.15
CH02. 변수  (0) 2020.04.04
CH01. 자바 시작하기  (0) 2020.03.29