제어문

박주현·2022년 9월 30일
0

국비 공부

목록 보기
6/44

제어문

제어문은 실행의 수행 순서를 변경

  • 조건문 : if
  • 반복문 : for, while, do~while
  • 분기문 : break, continue
if ( 조건식 ) { 
	조건식이  true 인 경우 실행
} else {
	조건식이 false 인 경우 실행
}

---------------------------------------------

if ( 조건식 )
	조건식이  true 인 경우 실행;		// 근데 왠만하면 쓰는게 가독성에 좋지 않나...?

다중 if 문

if( 조건식 ) {
	실행문들
} else if ( 조건식 ) {
	실행문들
} else if ( 조건식 ) {
	실행문들
} else {
	실행문들
}

반복문

  • 조건을 알때 while, do~while
  • 반복 횟수를 알때 for

break

  • 진행하던 흐름을 멈추고 해당 문에서 빠져 나온다.
public static void main(String[] args) {
		int num = 1;
		boolean serch = false;
		int flag = 0;

		while (num < 100000) {
			if ((num % 5) == 0 && (num % 7) == 0) {
				System.out.println(num);
				flag++;

				if (flag == 4) {
					break;
				}
			}
			num++;

		}
		System.out.println("반복 횟수 : " + num);

	}

continue

  • 조건식으로 돌아간다.
for (int i = 0; i < 10; i++) {
			if (i % 2 == 0) {
				continue;
			}
			System.out.println(i);
		}

switch

  • switch문은 0개 이상의 case 레이블을 포함되어야 한다. 필요에 따라 1개의 default 레이블도 포함할 수 있다.

  • 개선된 switch문은 화살표 case 레이블로 다음 case 레이블로 이동하지 않는다.

  • yield 예약어는 값을 반환하면서 switch 연산식을 종료하므로 yield 문 뒤에 break 문은 필요 없다.

public static void main(String[] args) {
		whoIsIt("호랑이");
		whoIsIt("참새");
		whoIsIt("고등어");
		whoIsIt("곰팡이");
        
		whoIsItt("호랑이");
	}

	static void whoIsIt(String bio) {
		String kind = "";
		switch (bio) {
		case "호랑이":
		case "사자":
			kind = "포유류";
			break;
		case "독수리":
		case "참새":
			kind = "조류";
			break;
		case "고등어":
		case "연어":
			kind = "어류";
			break;
		default:
			System.out.println("어이쿠!");
			kind = "...";
			break;
		}
		System.out.printf("%s는 %s이다.\n", bio, kind);
	}

	String kind = switch (bio) {
		case "호랑이", "사자" -> kind = "포유류";
		case "독수리", "참새" -> kind = "조류";
		case "고등어", "연어" -> kind = "어류";
		default -> {
			System.out.print("어이쿠! ");
			yield "...";
			}
		};
		System.out.printf("%s는 %s이다.\n", bio, kind);

0개의 댓글