자바 프로그램을 시작하면 main() 메소드의 시작 중괄호 {에서 시작해서 끝 중괄호 } 까지 위에서부터 아래로 실행하는 흐름을 가지고 있다.
이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 흐름 제어문이다.
흐름 제어문을 간단히 제어문이라고 한다.
제어문은 조건식과 중괄호 {} 블록으로 구성되는데, 조건식의 연산 결과에 따라 블록 내부의 실행 여부가 결정된다.
제어문의 종류는 조건문과 반복문이 있는데 제어문 블록이 실행 완료되었을 경우 다시 제어문 처음으로 돌아갈지, 아니면 제어문 블록을 빠져나와 정상 흐름으로 다시 돌아올지는 어떤 제어문을 사용하느냐에 달려있다.
조건문일 경우는 정상 흐름으로 돌아오지만, 반복문일 경우는 제어문 처음으로 다시 되돌아가 반복 실행한다. 이것을 루핑이라고 한다. 제어문 블록 내부에는 또 다른 제어문을 사용할 수 있다.
if 문 내부에 for 문을 가질 수 있고, while문도 가질 수 있다. 그렇기 때문에 개발자가 원하는 매우 복잡한 흐름 제어도 가능하다.