[Java] 제어문(1/2) - 조건문

전우석·2024년 3월 18일

Java

목록 보기
5/24

제어문(Control Flow Statement)

자바 프로그램은 main 메소드로부터 시작되어 위에서부터 아래로 차례대로 실행된다.
이러한 제어 흐름을 개발자가 원하는 분기로 바꿀 수 있도록 하는 것이 제어문이다.

  • 제어문은 조건문과 반복문 두 가지로 나눌 수 있다.

조건문(Conditional Statement)

  • 특정 조건에 따라 정해진 코드 블록을 실행하도록 하는 제어문

if 조건문

  • if 문은 조건식, 실행문으로 나뉜다.
  • 조건식이 true인 경우에만 실행문을 실행한다.
    // if 조건문
    if ({조건식}) {
    		{실행문}
    } else if ({조건식}) {
    		{실행문}
    } ... {
    } else {
    		{실행문}
    }
    
    // if 조건문 예제
    if (90 <= score) {
    		System.out.println("A");
    } else if (80 <= score) {
    		System.out.println("B");
    } ... {
    } else {
    		System.out.println("F");
    }
    1. if
      • if 조건문에서 가장 처음 만나는 절이다.
    2. else if
      • if 분기의 조건식이 false가 되어 실행되지 않으면 만나는 분기이다.
      • else if 절은 여러 개 사용할 수 있다.
    3. else
      • 다른 조건 분기를 모두 통과하지 못하게 되면 만나는 분기이다.
    • 가장 처음 조건인 if 절을 제외하면(else if, else) 앞의 조건을 만족하지 못한 경우에만 실행된다. 조건을 만족해서 하나의 절이 실행되고 나면 전체 if 조건문을 탈출하게 된다.
  • 판별해야 하는 조건이 많아질수록 if문이 반복되어야 하므로 코드가 복잡해질 수 있다.
    → swtich 문 사용

switch 조건문

  • switch 문은 변수의 값에 따라서 실행문이 결정되는 방식의 조건문이다.
    // switch 조건문
    switch {변수} {
    		case {1}:
    				{실행문}
    				break;
    		case {2}:
    				{실행문}
    				break;
    		...
    		default:
    				{실행문}
    				break;
    		
    // switch 조건문 예제
    switch (score / 10) {
        case 10:
        case 9:
            System.out.println("A");
            break;
        case 8:
            System.out.println("B");
            break;
        default:
            System.out.println("F");
            break;
    }
    1. switch
      • 조건문에 사용할 변수를 지정한다.
    2. case
      • switch문의 조건절이다.변수 값이 해당 case에 해당하면 실행된다.
    3. default
      • 어떤 case에도 해당되지 않았을 때의 실행문이다.
      • 필요 없다면 생략 가능하다.
    4. break
      • switch문은 if문과 다르게 앞의 조건 분기를 통과하여도 남은 조건 분기를 수행한다.
      • 따라서 조건에 해당되어 실행된 후 switch문을 빠져나가도록 작성한다.
  • switch문 활용
    • switch문은 기본적으로 범위를 비교할 수 없다.(값에는 상수만 와야 함)
    • switch문은 변수와 각각의 케이스에 해당하는 값이 일치해야 해당 케이스를 실행한다.
    • 아래와 같이 작성하면 값을 비교할 수 있다.
      switch (true) { // 1. 변수로 true를 삽입
      		case 90 <= score: // 2. 조건식(값)이 true인 경우, 변수와 조건식이 일치하는 케이스 실행됨
      				grade = 'A';
      				break;
      		case 80 <= score:
      				grade = 'B';
      				break;
      		case 70 <= score:
      				grade = 'C';
      				break;
      		case 70 <= score:
      				grade = 'D';
      				break;
      }

0개의 댓글