4) 제어문1 - 조건문

dev-mage·2022년 9월 15일
0

Hello Java World!

목록 보기
8/32
post-thumbnail
post-custom-banner

Java의 조건문(if문, switch문)

제어문

프로그램의 흐름(flow) 바꾸는 역할을 하는 문장들을 ‘제어문(control statement)’이라고 한다. 제어문에는 조건문과 반복문이 있다.

if문

if문은 가장 기본적인 조건문이며, 조건식과 블럭으로 이루어져 있다. ‘만일(if) 조건식이 참(true)이면 블럭{ } 안의 문장들을 수행하라'라는 의미이다.

if (조건식) {
	// 조건식이 참(true)일 때 수행
}
  • 블럭(block): 괄호{ }를 이용해서 여러 문장을 하나의 단위로 묶은 것.

if-else문과 if-else if문

  • if-else문
    • 조건식의 결과에 따라 if문 또는 else문 블럭 중 어느 한 블럭의 내용이 수행되고 if-else문을 벗어남

      if (조건식) {
      	// 조건식이 참(true)일 때 수행
      } else {
       // 조건식이 거짓(false)일 때 수행
      }
  • if-else if문
    • 첫 번째 조건식부터 순서대로 평가해 결과가 참인 조건식을 만나면 해당 블럭만 수행하고 if-else if문 전체를 벗어남

    • 만약 결과가 참인 조건식이 하나도 없으면 마지막 else문의 블럭이 수행되지만 else문은 생략이 가능하기 때문에 if-else if문의 어떤 블럭도 수행되지 않을 수 있음.

      if (조건식1) {
      	// 조건식1의 결과가 참일 때 수행
      } else if (조건식2) {
      	// 조건식2의 결과가 참일 때 수행
      } else if (조건식3) {
      	// 조건식3의 결과가 참일 때 수행
      } else { // 생략 가능
      	// 위의 어느 조건식도 만족하지 않을 때 수행
      }

switch문

단 하나의 조건식으로 많은 경우의 수를 처리할 때 if문 대신 사용할 수 있는 제어문이다. switch문은 다음과 같은 순서로 수행된다.

  1. 조건식을 계산.
  2. 조건식의 결과 일치하는 case문으로 이동.
  3. 이후의 문장들을 수행.
  4. 조건식의 결과와 일치하는 case문이 없는 경우 default문으로 이동. → default문은 생략 가능
  5. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나감.

switch문

※ break문을 생략할 시 case문 사이의 구분이 없어지므로 다른 break문을 만나거나 switch문 블럭의 끝을 만날 때까지 나오는 모든 문장들을 수행한다.

  • switch문의 제약조건
    • switch문의 조건식 결과는 정수 또는 문자열이어야 함.
    • case문의 값은 정수 상수(문자 포함), 문자열만 가능하며 중복되지 않아야 함.

References

  • 자바의 정석 CHAPTER 4
post-custom-banner

0개의 댓글