배운것들을 정리합니다.
三昧境

Flutter/Dart Language

[플러터 Flutter] 조건문의 종류

ujo_orr 2024. 8. 1. 22:18

우선 조건문은 크게

  1. if 문
    1. if - else 문
    2. if - else if - else 문
  2. switch 문
  3. 삼항 연산자
  4. null-aware

이렇게 4가지의 종류로 볼 수 있습니다.

사실 6가지로 볼 수 있지만 2가지는 if 문의 큰 카테고리로 넣어 정리하도록 하겠습니다.

 


 

if 문

가장 기본적인 조건문으로, 조건이 참일 경우에만 블록 안의 코드를 실행합니다.

문법 :

if (조건) {
  // 조건이 참일 때 실행할 코드
}

예제 :

void main() {
  int number = 10;
  
  if (number > 5) {
    print('number는 5보다 큽니다.');
  }
}

// 출력 : number는 5보다 큽니다.

위와 같은 경우에는

number = 10 이고
숫자가 5보다 클경우 print를 하는 코드입니다.

void main() {
  int number = 2;
  
  if (number > 5) {
    print('number는 5보다 큽니다.');
  }
}

// 출력 : 아무것도 되지 않음

허나 위와 같이

number = 2 이고
숫자가 5보다 작으니
5보다 작은경우의 코드를 작성하지 않았기 때문에 아무것도 출력 되지 않습니다.

 


 

if - else 문

조건이 참일 때와 거짓일 때 실행할 코드를 구분할 수 있습니다.

문법 :

if (조건) {
  // 조건이 참일 때 실행할 코드
} else {
  // 조건이 거짓일 때 실행할 코드
}

예제 :

void main() {
  int number = 3;
  
  if (number > 5) {
    print('number는 5보다 큽니다.');
  } else {
    print('number는 5보다 작거나 같습니다.');
  }
}

위 코드는

number가 5이하인 경우는 'number 5보다 작거나 같습니다.' 가 출력되고
number가 6이상인 경우는 'number 5보다 큽니다.' 가 출렵됩니다.

이처럼 기존 if문은 true일때만 반환하지만

if - else 문은 true일때와 false일때 두개의 경우의 수를 둘 수 있습니다.

 


 

if - else if - else 문

여러 조건을 차례로 검사할 수 있습니다.

문법 :

if (조건1) {
  // 조건1이 참일 때 실행할 코드
} else if (조건2) {
  // 조건2가 참일 때 실행할 코드
} else {
  // 위의 모든 조건이 거짓일 때 실행할 코드
}

예제 :

void main() {
  int number = 7;
  
  if (number > 10) {
    print('number는 10보다 큽니다.');
  } else if (number > 5) {
    print('number는 5보다 크고 10보다 작거나 같습니다.');
  } else {
    print('number는 5보다 작거나 같습니다.');
  }
}

if - else if - else 문은

몇 번의 반복을 하던 제한없이 else if를 사용하여 다중검증을 할 수 있습니다.

 


 

switch 문

하나의 변수를 여러 값과 비교할 때 사용합니다.
enum 키워드와 잘 어울리는 조건문 입니다.

문법 :

switch (변수) {
  case 값1:
    // 값1과 같을 때 실행할 코드
    break;
  case 값2:
    // 값2와 같을 때 실행할 코드
    break;
  default:
    // 위의 모든 경우에 해당하지 않을 때 실행할 코드
}

예제 :

void main() {
  String grade = 'B';
  
  switch (grade) {
    case 'A':
      print('Excellent');
      break;
    case 'B':
      print('Good');
      break;
    case 'C':
      print('Fair');
      break;
    default:
      print('Invalid grade');
  }
}

 


 

삼항 연산자

단순한 조건문을 짧게 작성할 수 있습니다.
true일때 앞쪽을 반환하고, false일때 뒤쪽을 반환합니다.
null-aware 연산자와 다르게 '?'를 하나만 사용합니다.

 

문법 :

변수 = (조건) ? 값1 : 값2;

예제 :

void main() {
  int number = 8;
  String result = (number > 5) ? '5보다 큽니다.' : '5보다 작거나 같습니다.';
  print(result);
}

 


 

null-aware 연산자

변수가 null인지 아닌지를 검사하여 null이 아닐 경우 값을 할당합니다.
삼항 연산자와는 다르게 '??' 처럼 두개 사용합니다.

문법 :

변수 = 값1 ?? 값2;

예제 :

void main() {
  String? name;
  String greeting = name ?? 'Guest';
  print('Hello, $greeting!');
}