본문 바로가기
Java

[Java] 제어문 : 조건문과 반복문 (if, switch, for, while)

by 스응 2023. 2. 2.
728x90
728x90

조건문 if

if (조건식) {
    수행문;
    ...
    
} else if (조건식) {
    수행문;
    ...
    
} else {
    수행문;
    ...
    
}

 

조건문 switch-case

switch (변수) {

case 값1 : // 콜론이어야 함에 유의
    코드1; // 변수가 해당 값과 일치하면 코드 실행
    break; // break를 작성하지 않으면 계속 다음 case로 넘어가게 됨

case 값2 :
    코드2;
    break;

case 값3 :
    코드3;
    break;

...

// 변수가 모든 case 값과 불일치하거나, 입력되지 않은 경우
[default :
    코드n;]

}

 

  - switch에 기입된 변수의 값이 case의 값과 일치하면, 그 아래의 코드를 실행함

  - break 문이 없으면 계속 다음 case로 넘어가서 의도치 않은 결과가 발생할 수 있음에 유의

      → 의도적으로 같은 코드를 출력하기 위해 누락하기도 함  ex) 같은 가격의 음료

 

 

반응형
728x90

반복문 for  (index for)

  - 조건식을 만족하는 동안(true) 수행문이 무한 반복됨

  - 반복 횟수가 명확하게 정해져 있을 경우 유용함

 

for (초기화식; 조건식; 증감식) {
	수행문;
	...
}

 

반복문 for each  (initialized for)

for (자료형 요소변수 : 리스트) {
	코드;
}

 

  - 리스트의 크기만큼 반복함

  - 반복 시, '요소변수'는 리스트의 요소를 순차적으로 가리킴 (변수명은 아무거나 무관)

 

반복문 while

  - 조건식을 만족하는 동안(true) 수행문이 무한 반복됨

  - 조건은 주로 반복 횟수 or 값의 비교 결과에 따라 참, 거짓이 판단됨

  - 사용자의 입력 값에 따라 반복 여부가 달라지는 경우 유용함

 

while (조건식) {
	수행문;
	...
}

 

반복문 do-while

  - 조건과 상관 없이 한 번은 수행문을 수행한 후, 그 다음부터는 조건에 따라 반복함

 

do {
	수행문;
	...
} while (조건식);

 

 


제어문 내에서 쓰이는 명령어

#  break 문

      - 자신을 감싸고 있는 반복문 하나의 블록을 빠져나오며, 제어문이 중단됨

      - 반복문 내부에서 주로 조건문 안에 break문을 사용함

          → 조건에 해당되는 경우, 반복 수행을 멈추고 반복문 외부로 빠져 나옴

      - 여러 반복문이 중첩되어 있는 경우, break 문이 포함되어 있는 제어문에서만 빠져 나옴

 

// 예시
for (초기화식; 조건식; 증감식) {
	수행문;
    if (조건식) {
    	break;
    }
}
 // if 조건식이 true가 되면 for 반복문이 종료됨


#  continue 문

      - 반복문 내부에서 조건문 안에 continue문을 사용함

          → 조건에 해당되는 경우, 해당 반복 회차의 다른 문장들을 수행하지 않고, 다음 반복으로 넘어감

 

// 예시
for (i = 0; i <= 100; i++) {
	if (i == a) {
		continue;
	}
	수행문N;
}
// i가 a이 되어 조건식에 걸리게 되면 continue에 의해 아래 수행문N은 건너뛰고
// i = a + 1의 회차로 넘어감

 

 


기타 메모

- 방어적 코드 : 실행 결과가 잘못 나왔을 때를 대비한 코드

 

320x100
반응형

'Java' 카테고리의 다른 글

[Java] 객체와 클래스 1 : 객체 지향 패러다임과 멤버 변수  (0) 2023.02.03
[Java] 참조 자료형 (Scanner, Random)  (0) 2023.02.03
[Java] 연산자  (0) 2023.02.02
[Java] 형 변환  (0) 2023.02.02
[Java] 상수와 리터럴  (0) 2023.02.02

댓글