[Dart]if 조건문

한상욱·2022년 11월 30일
0

Dart문법

목록 보기
5/15
post-thumbnail

조건문

겨울이 다가오면서 날씨가 추워지네요. 온도에 따라서 0도를 기준으로 얼음이 얼고, 얼지 않고를 판단할 수 있죠? 이런 경우에 조건문을 사용하면 쉽게 나타낼 수 있습니다.

단순 if

단순 if 조건문은 단순하게 if 조건에 해당하는 명령 코드만 실행시키는 가장 기본적인 조건문입니다. 조건에 해당하지 않으면 실행되지 않죠.

void main() {
  int temp = -2;
  if (temp < 0)
    print('얼음이 어는 온도');
  
  print(temp);
}
>> 얼음이 어는 온도
>> -2

if else

if else 조건문은 단순 if 조건문에다가 조건에 해당하지 않으면 실행시킬 코드를 함께 작성합니다. if 조건에 해당하지 않으면 else에 해당하는 코드를 실행시킵니다.

void main() {
  int temp = 2;
  if (temp > 0)
    print('얼음이 얼지 않는 온도');
  else
    print('얼음이 어는 온도');
}
>> 얼음이 얼지 않는 온도

이때, 조건에 해당되는 실행코드가 여러개라면 중괄호{ }로 묶어주셔야 합니다. 그렇지 않다면 묶지 않아도 됩니다.

  num temp = 2;
  if (temp > 0) {
    print('얼음이 얼지 않는 온도');
    temp++;
  } else {
    print('얼음이 어는 온도');
    temp--;
  }
  
  print(temp);
}
>> 얼음이 얼지 않는 온도
>> 3

여러개의 조건을 가진 조건문

예시로 어는점말고, 성적이라면 어떨까요??
아래와 같은 성적표가 있다고 하겠습니다.

성적 기준 점수 성적
95점 이상 A+
90점 이상 A0
85점 이상 B+
80점 이상 B0
나머지 C0

조건 4개를 동시에 나타내는 방법은 if / else if / else를 사용하면 됩니다.

void main() {
  int myPoint = 91;
  
  if (myPoint >= 95)
    print('A+');
  else if (myPoint >= 90 && myPoint < 95)
    print('A0');
  else if (myPoint >= 85 && myPoint < 90)
    print('B+');
  else if (myPoint >= 80 && myPoint < 85)
    print('B0');
  else
    print('C0');
} 
>> A0

+보너스

함수를 작성할 때, 여러개의 if / else 문으로 복잡하게 짜여진 코드는 가독성을 떨어뜨립니다. 예를 들어보겠습니다.

void main() {
  int number = 10;
  some_func(number);
}

some_func(int number) {
  if (number > 100)
    print('너무 숫자가 큼');
  else {
    if (number is String)
      print('문자는 해당 안됨');
    else {
      if (number % 2 == 0)
        print('짝수는 해당 안됨');
      else {
        print('홀수입니다');
        print(number);
      }
    }
  }
}
>> 짝수는 해당 안됨

이런 조잡한 예시 형식이 아니라 무식하게 복잡한 코드일겁니다.
그리고 코드를 작성하다보면 실제로 무의식적으로 이런식의 코드를 작성할 수도 있습니다. 이렇게 작성하기보단 아래처럼 작성하는 것이 깔끔해집니다.

void main() {
  int number = 10;
  some_func(number);
}

some_func(int number) {
  if (number > 100) {
    print('너무 숫자가 큼');
    return;
  }

  if (number is String) {
    print('문자는 해당 안됨');
    return;
  }

  if (number % 2 == 0) {
    print('짝수는 해당 안됨');
    return;
  }

  print('홀수입니다.');
  print(number);
}
>> 짝수는 해당 안됨

동일한 결과를 얻을 수 있을지라도 팀원과의 협업을 위해서는 가독성이 뛰어난 코드를 작성하는 것이 좋습니다.

profile
자기주도적, 지속 성장하는 모바일앱 개발자가 되기 위해

0개의 댓글