본문 바로가기

Language/Java

4. 문(statement)

선택문 반복문

아래의 두 문(statement)들의 공통점은 식(expression)을 통해서 중괄호 코드 블록을 실행한다 한다

선택문

조건식이 필수적으로 들어간다.

if

if (조건(평가)식) {
    조건 식이 참일 경우 실행;
}

else if

[[/// <- 슈도코드
if (조건(평가)식) {
    조건 식이 참일 경우 실행;
}
else if (if에서참이 아닌 조건(평가)식) {
    조건 식이 참일 경우 실행;
}

]]/// <- 슈도코드

[[ ]] 코드 블록 에서 한번에 실행이 된다. if 에서 참이 아니고 else if 에서 참 일경우 실행된다.

그래서 아래 if, if의 조건과 다르다.

만약 같은 if 절이 2개가 있었으면 2번 실행되는 것이다.

[[/// <- 슈도코드
 if (expression(조건(평가)식)) {
    statement(조건 식이 참일 경우 실행);
}
]]/// <- 슈도코드

[[/// <- 슈도코드
if (expression(위의 if조건식과는 독립적으로 한번더 실행)) {
    statement(조건 식이 참일 경우 실행);
}
]]]/// <- 슈도코드

else

else는 그 외의 조건에서 실행시키는데

잘못 사용시 조건 식의 depth가 길어지고

개발시 생각 외로 분기가 많아 질 수 있어서
개발자의 의도를 방해 할 수 있었다

그래서 개인적으로 쓰지는 않는다.

early continue, early return으로 else를 안쓰고 if, else if로 코딩 할 수 있다.

if (expression) {
    statement(조건이 참일 경우 수행);
} else {
    statement(조건식외 모든 조건에 대해서 무조건 쓴다.");
}

switch-case

입력값을 받은 후 case에서 일치하는 값을 실행시킨다.

만약 일치하지 않으면 default가 실행되는데

case에 break가 없다면 case 실행시 default도 같이 실행된다

switch (expression) {
            case expression1:
                statement(case가 참일때 실행);
                                break;
            case expression2:
                statement(case가 참일때 실행);
                                break;
            case expression3:
                statement(case가 참일때 실행);
                                break;
            case expression4:
                statement(case가 참일때 실행);
                                break; 
           default:
                statement(위의 case가 모두 참이 아닐때 일때 실행);

break를 내포하는 형태의 swich case

switch (expression) {
            case->값1:
                statement case가 참일때 실행;
            case->값2:
                statement case가 참일때 실행;
            case->값3:
                statement case가 참일때 실행;
            case->값4:
                statement case가 참일때 실행;
            default:
                위의 case가 모두 참이 아닐때 일때 실행;

반복문

학부때 수업을 들으며 느꼈던 것은 초기식,조건식,증감식 셋다 필수적으로 구성되어 있어야

한다라고 생각했엇는데

조건식만 필수적으로 있어야한다고 생각한다.

증감식으로 산술 연산자를 통해 객체의 상태를 변화 시킬 수 도 있지만

sleep 함수나 time, 또는 다른 객체 메시지등으로 조건식을 깨기위한 증감식을 대체할 수도 있다고 생각한다.

while

while(조건식(거짓이 될때까지)){
    식이 거짓이 될대까지 순환
}

do-while

        do {  statement      // 1)while 조건을 실행하기 전에 먼저 실행 
                                                //  2)이후 순회하면서 실행
        }while (expression);

for

expression을 3개를 지정

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

for-each

iterable한 객체를 식으로 받아

문을 실행

for( declaration : expression ) {
  statement;
}

'Language > Java' 카테고리의 다른 글

3. 연산자  (0) 2020.11.28
다시 복습하는 자바 - 2.자바 데이터 타입, 변수 그리고 배열  (0) 2020.11.21