-
[Java] 제어문(선택 제어문 / 반복 제어문), 제어 키워드Java/Java 개념 2022. 7. 15. 23:49
- 제어문이란?
- 선택 제어문(if, switch)
- 반복 제어문(for, while, do-while)
- 제어 키워드(break, continue)
1. 제어문이란?
제어문과 제어 키워드를 이용하면, 프로그램의 실행 순서를 다양한 방법으로 제어할 수 있게 된다.
한마디로, 제어문은 '프로그램 처리 순서를 바꾸는 것' 이라고 생각하면 된다.
제어문은
2개의 선택 제어문(if, switch),
3개의 반복 제어문(for, while, do-while),
2개의 제어키워드(break, continue)가 있다.
2. 선택 제어문(if)
2-1. if 단일 구문
if(조건식) { // 조건식은 boolean 타입 실행 구문; // 조건식이 true일 때 실행 }
조건식이 true일 때, 실행 구문을 실행하고, false이면 실행하지 않는다.
2-2. if-else 구문
if(조건식) { 실행 구문; // 조건식이 true일 때 실행 } else { 실행 구문; // 조건식이 false일 때 실행 }
조건식이 true일 때, 실행 구문을 실행하고, false이면 else구문의 실행구문을 실행한다.
2-3. if-else if-else 구문
if(조건식 1) { 실행 구문; // 조건식 1이 true일 때 실행, 제어문 탈출 } else if(조건식 2) { 실행 구문; // 조건식 2가 true일 때 실행, 제어문 탈출 } else if(조건식 3) { 실행 구문; // 조건식 3이 true일 때 실행, 제어문 탈출 } else { 실행 구문; // 모든 조건식이 false일 때 실행 }
다른 구문들과 다르게, 처음 참이 되는 블록 하나만 실행이 되고, 나머지는 무시한다.
2. 선택 제어문(switch)
switch(조건식) { // 정수, 문자, 문자열 사용 가능 case 위칫값 1: // 위치 변수 = 위칫값이 1이면 이곳으로 이동 실행 구문; case 위칫값 2: // 위치 변수 = 위칫값이 2이면 이곳으로 이동 실행 구문; ... case 위칫값 n: // 위치 변수 = 위칫값이 n이면 이곳으로 이동 실행 구문; // 생략 가능 default: // 일치하는 위칫값이 없으면 이곳으로 이동 실행 구문;
switch문은 조건식 하나에 많은 결과 값이 나올 때 사용한다.
조건식의 결과값이 1이면 위칫값 1이 실행되고, 결괏값 2이면 위칫값 2가 실행된다.
제어 키워드 break가 없다면 해당된 위칫값부터 코드 끝까지 진행하게 된다.
모두 일치하는 값이 없다면 default 코드가 실행된다.
3. 반복 제어문(for)
for(초기식; 조건식; 증감식) { 실행 구문; // 조건식이 true일 때 실행 }
초기식 : for문이 시작될 때 단 한번만 실행된다. 주로 변수는 초기식에서 초기화한다.
조건식 : 실행 구문으로 들어가기 위한 유일한 출입구, 조건식의 결과가 true인 경우 실행구간을 계속 반복한다.
만약 조건식이 false라면 더 이상 반복을 수행하지 않고 for문을 빠져나간다.
증감식 : for문의 실행 구문이 모두 수행되고 중괄호를 만나면 다음 반복을 위해 다시 이동하는 위치, 매회 반복시 호출된다.
3. 반복 제어문(while)
초기식; // 필수는 아니지만 대부분 사용 while(조건식) { // while문 안으로 들어가는 입구, 생략 불가능 실행 구문; // 조건이 true인 동안 실행 증감식; // 필수는 아니지만 대부분 사용 }
while문은 반복횟수가 정해져 있지 않을 때 쓰는 반복문이다.
대부분 실행 구문과 함께 증감식이나 제어 키워드(break, continue)를 같이 써서 무한반복을 방지한다.
( + while(true) 를 사용하면 무한루프가 생기게 된다.)
3. 반복 제어문(do-while)
초기식; // 필수는 아니지만 대부분 사용 do { 실행 구문; // 최초 한번은 무조건 실행 증감식; // 필수는 아니지만 대부분 사용 } while(조건식); // 문법 구조상 중괄호가 없어 세미콜론(;)으로 마무리
do-while문은 do 안의 코드를 먼저 실행하고, while문에 있는 조건식에 따라 true면 do를 다시 실행, 아니면 종료된다.
while문과 다른 점은, 무조건 한번 실행되어야 한다는 차이점이 있다.
4. 반복 제어문(break)
for(int i=0; i<10; i++) { System.out.println(i); // break때문에 i=0일때 한번 출력 break; // 반복문 탈출 }
break문은 반복문에서 특정 조건을 만족할 때, 반복문을 탈출할 때 사용하는 제어문이다.
4. 반복 제어문(continue)
for(int i=0; i<10; i++) { continue; System.out.println(i); // continue때문에 unreachable code 오류 }
continue는 아래쪽에 실행할 코드가 남아있더라도 닫힌 중괄호를 만난 것처럼 반복문을 빠져나오게 된다.
참고 문헌 : Do it! 자바 완전정복
이미지 출처 : https://images.velog.io/images/dngur5505/post/55194213-af28-485e-8e9b-20f7a21958df/JAVA%20%EC%9D%B4%EB%AF%B8%EC%A7%80.png
'Java > Java 개념' 카테고리의 다른 글
[Java 개념] 자바 그래픽 GUI AWT 설명 및 예제 (0) 2022.09.01 [Java] this와 this()의 차이점 (0) 2022.07.10 [Java] 클래스 외부, 내부 구성 요소 (2) 2022.07.09 [Java] 중첩 for문으로 별찍기 (1) 2022.07.06 [Java] 논리 연산자(&&, ||)와 비트 연산자(&, |)의 차이 (2) 2022.07.05