1. 조건문
조건문은 프로그램의 흐름을 제어하기 위해 사용합니다.
"이 조건이 참이면 이렇게 실행하고, 거짓이면 저렇게 실행해!" 라는 역할을 합니다.
dart에서 조건문은 if, if-else, switch가 있습니다.
2. if
if문의 조건이 true일 때만 실행됩니다.
if (조건) { ... }
if(a < 0) {
print('a는 음수입니다.');
}
a < 0 이라는 조건이 true라면 해당 코드 블록을 실행합니다.
만약 false라면 실행하지 않습니다.
3. if-else
if문의 조건이 true라면 if 코드 블록이 실행되고, false라면 else 코드 블록이 실행합니다.
if (조건문) { ... }
else { ... }
int a = 0;
if (a < 0) {
print('a 는 음수입니다.');
} else {
print('a 는 양수이거나 0입니다.'); // a 는 양수이거나 0입니다.
}
4. if - else if - else
if - else if - else 문은 조건에 따라 다른 코드 블록을 실행하는 조건문입니다.
if문의 조건이 true라면 if 코드 블록이 실행됩니다.
만약, if문의 조건이 false이고, else if 문의 조건이 true라면 else if 코드 블럭이 실행됩니다.
만약, if문과 else if문의 조건 모두가 false라면 else가 실행됩니다.
if (조건문) { ... }
else if (조건문) { ... }
else { ... }
int a = 0;
if (a < 0) {
print('a 는 음수입니다.');
} else if (a > 0) {
print('a 는 양수입니다.');
} else {
print('a 는 0입니다.'); // a 는 0입니다.
}
5. switch
if-else 문이 길거나 특정 값에 대한 경우를 모두 생각해야 할 때 사용합니다.
String day = "월요일";
switch (day) {
case "월요일":
print("월요일입니다.");
break;
case "화요일":
print("화요일입니다.");
break;
case "수요일":
print("수요일입니다.");
break;
case "목요일":
print("목요일입니다.");
break;
case "금요일":
print("금요일입니다..");
break;
default:
print("주말입니다.");
}
// 월요일입니다.
break는 해당 case를 멈춥니다.
만약, break를 삽입하지 않는다면 다음 case가 실행되기 때문에 break는 필수로 작성해야 합니다.
default는 모든 case가 해당되지 않을 때 실행되며,
작성해도 되고, 작성하지 않아도 됩니다.
6. 조건 표현식
조건 표현식을 이용해서 코드를 짧고 간결하게 할 수 있습니다.
1) 조건 연상자 (삼항 연산자)
[데이터 타입] [변수명] = (조건) ? [값1] : [값2];
int num = 7;
print((num % 2 == 0) ? "짝수" : "홀수");
// 홀수
조건이 true면 값1, false면 값2가 반환됩니다.
7을 2로 나눈 나머지 값은 1이기 때문에 해당 조건은 false가 됩니다.
때문에 홀수라 출력됩니다.
2) ?? 연산자
변수가 null 일 때만 기본 값을 설정할 때 사용합니다.
String? name;
String nickname = name ?? "이름 없음";
print(nickname);
// 이름 없음
name은 nullable 한 변수이며, 초기값을 할당하지 않았기에 null이 할당됩니다.
nickname은 name의 값이 null이기 때문에 이름 없음이 저장됩니다.
만약, name이 null이 아니라면 nickname에는 name이 저장됩니다.
7. 참고자료
https://dart.dev/language/branches
Branches
Learn how to use branches to control the flow of your Dart code.
dart.dev
'Flutter' 카테고리의 다른 글
[Dart] 연산자 (Operators) (0) | 2025.03.10 |
---|---|
[Dart] 데이터 타입 (0) | 2025.03.10 |
[Dart] 반복문(for, for-in, while, do while) (0) | 2025.03.07 |
[Dart] 변수 선언 (0) | 2025.03.07 |