ch04. 흐름 제어문 (조건문과 반복문)

728x90

ch04. 흐름 제어문 (조건문과 반복문)

04-1. 조건문 : if문, switch문

🟦조건문

[if문]
: 조건식의 결과값 (T or F)에 따라 블록 실행 여부 결정

[if-else문]
: 조건식의 결과값이 T이면 if문 블록을, F이면 else문 블록 실행

[if-else if-else문]
: 조건식 여러 개인 경우 사용
: else if문 사용은 제한 없음
: 여러 조건식 중 T값 갖는 블록 내부를 실행하고, 모든 조건식이 F이면 else문 실행


<임의의 실수 뽑는 메소드>

    **Math.random()메소드**

: 기본적으로 0.0 <= a < 1.0 사이 임의의 double 실수값 하나를 리턴

     → (1~10 사이의 정수 난수 반환받기)
int num = (int) (Math,random() *10) + 1; //1 <= num < 1+10 사이값 가짐
     → start부터 시작하는 n개의 정수 중에서 난수 얻기
int num = (int) (Math.random() * n) + start; // start <= num < start+num 사이값
     →  주사위 (1~6) 사이의 정수 난수 뽑기
int num = (int) (Math.random() * 6) + 1;

[switch문]

: 변수값에 따라 실행문을 선택 (변수값으로 char문자, string문자열타입도 가능)
: 코드 간결
: 각 case문 탈출할 break; 사용
: 모든 case에 일치값 없으면, default 블록 실행


04-2. 반복문 : for문, while문, do-while문

🟦반복문

[for문] | 반복 횟수를 알고 있을 때

for (초기식 ; 조건식 ; 증감식 ) {

     실행문;

}
  • for문 블록 내부에서 선언된 변수는 해당 블록 안에서만 유효한 ‘로컬 변수’
  • 초기화식에서 루프카운터 선언 시, float타입(부동소수점 쓰는) 올 수 없다
  • 0.1은 float타입으로 정확히 표현 못하므로 그냥 쓰지말 것

[중첩 for문] |

  • 바깥 for문 1번 당/ 안쪽 for문 전체 반복
for(i=0; i<7; i++) {
    //바깥 i에 대한  
    for( j=0; j<7; j++) { //안쪽 j 싹 돈다.
    실행문;
    }
    }

[while문] | 조건식이 T인 동안만 내부 블록 실행

              → for문과 호환O
while(조건식) {

    실행문;

}

[do-while문] | 우선 do문 실행 후, while문 조건식 판단하여, 반복 결정

do {

실행문;

} while (조건식);

🟦 분기문

[break문] : 블록 탈출

반복문(for, while, do-while문)과 switch문에서 사용

  • 기본적으로 중첩 반복문에서 가장 가까운 블록 반복만 종료.
  • 만약 중첩 반복문에서 가장 바깥 반복문까지 탈출 원하면

바깥쪽 반복문에 ‘이름:’ 붙여서 -> break 이름; 사용하면 된다.

**Outer:** for(char i = 'A'; i <= 'Z'; i++ ) {

        for(char j = 'a'; j<= 'z'; j++) {

        **break Outer;**

    }

}

[continue문]

: 반복문(for, while, do-while문)에서만 사용된다.

: 반복문 내부에서, 특정 조건만 건너뛰고, 마저 남은 다음 반복을 수행한다.

728x90

'Java > [문법]_Java(자바)' 카테고리의 다른 글

ch06. 클래스  (0) 2021.08.02
ch05. 참조 타입  (0) 2021.07.29
ch03. 연산자  (0) 2021.07.29
ch02. 변수와 타입  (0) 2021.07.28
ch01. 자바 시작하기  (0) 2021.07.28