티스토리 뷰
반응형
📌 Dart 제어문 완벽 정리 - if, switch, for, while 문법
Dart에서 제어문(Control Flow Statements)은 프로그램의 흐름을 제어하는 중요한 기능입니다.
조건문(if, switch)과 반복문(for, while, do-while)을 사용하여 프로그램을 보다 유연하게 만들 수 있습니다.
🔹 1. 조건문 (if, if-else, else-if)
if문은 특정 조건을 검사하여 코드의 실행을 제어할 때 사용됩니다.
1️⃣ 기본적인 if 문법
void main() {
int number = 10;
if (number > 5) {
print("5보다 큽니다.");
}
}
출력:
5보다 큽니다.
- if (조건)이 true이면 {} 내부의 코드가 실행됩니다.
2️⃣ if-else 문
void main() {
int age = 17;
if (age >= 18) {
print("성인입니다.");
} else {
print("미성년자입니다.");
}
}
출력:
미성년자입니다.
- if 조건이 false이면 else 블록이 실행됩니다.
3️⃣ else-if 문 (다중 조건 검사)
void main() {
int score = 85;
if (score >= 90) {
print("A 학점입니다.");
} else if (score >= 80) {
print("B 학점입니다.");
} else if (score >= 70) {
print("C 학점입니다.");
} else {
print("F 학점입니다.");
}
}
출력:
B 학점입니다.
- 여러 개의 조건을 검사할 때 else if를 사용합니다.
✅ 팁
- if 문은 반드시 true 또는 false를 반환하는 조건식을 포함해야 합니다.
- else 블록은 선택 사항이며 필요할 때만 사용하세요.
🔹 2. Switch문
switch 문은 여러 개의 case 중 하나를 선택할 때 사용됩니다.
1️⃣ 기본적인 switch-case
void main() {
String grade = "B";
switch (grade) {
case "A":
print("우수한 성적입니다.");
break;
case "B":
print("좋은 성적입니다.");
break;
case "C":
print("보통 성적입니다.");
break;
default:
print("성적을 알 수 없습니다.");
}
}
출력:
좋은 성적입니다.
- switch 문은 case에 맞는 값을 찾고 해당 블록을 실행합니다.
- break를 사용하지 않으면 다음 case로 계속 실행됩니다.
2️⃣ default 사용 (예외 처리)
void main() {
int number = 3;
switch (number) {
case 1:
print("하나");
break;
case 2:
print("둘");
break;
default:
print("해당하는 숫자가 없습니다.");
}
}
출력:
해당하는 숫자가 없습니다.
- default는 어느 case에도 해당되지 않을 때 실행됩니다.
✅ 팁
- switch 문은 break가 없으면 다음 case로 계속 실행되므로 주의해야 합니다.
- default 블록을 항상 추가하는 것이 좋습니다.
🔹 3. 반복문 (for, while, do-while)
반복문은 특정 코드 블록을 여러 번 실행할 때 사용됩니다.
🔸 1. for 문
1️⃣ 기본적인 for 문법
void main() {
for (int i = 0; i < 5; i++) {
print("반복 횟수: $i");
}
}
출력:
반복 횟수: 0
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
- i = 0 : 초기값
- i < 5 : 조건
- i++ : 증감 연산
2️⃣ 리스트를 사용한 for-in 문
void main() {
List<String> fruits = ["Apple", "Banana", "Cherry"];
for (var fruit in fruits) {
print(fruit);
}
}
출력:
Apple
Banana
Cherry
- for-in 문을 사용하면 리스트를 쉽게 반복할 수 있습니다.
3️⃣ forEach 사용 (람다 함수 활용)
void main() {
List<int> numbers = [10, 20, 30];
numbers.forEach((num) => print(num * 2));
}
출력:
20
40
60
- forEach를 사용하면 리스트 요소를 간결하게 처리할 수 있습니다.
🔸 2. while 문
조건이 true인 동안 계속 실행되는 반복문입니다.
void main() {
int i = 0;
while (i < 5) {
print("현재 값: $i");
i++;
}
}
출력:
현재 값: 0
현재 값: 1
현재 값: 2
현재 값: 3
현재 값: 4
- while 문은 반복 횟수가 정해지지 않았을 때 유용합니다.
🔸 3. do-while 문
최소 한 번 실행한 후 조건을 검사하는 반복문입니다.
void main() {
int i = 0;
do {
print("한 번은 실행됩니다! 현재 값: $i");
i++;
} while (i < 5);
}
출력:
한 번은 실행됩니다! 현재 값: 0
한 번은 실행됩니다! 현재 값: 1
한 번은 실행됩니다! 현재 값: 2
한 번은 실행됩니다! 현재 값: 3
한 번은 실행됩니다! 현재 값: 4
- while 문과 달리 조건이 false라도 최소 한 번은 실행됩니다.
🔹 4. break & continue
1️⃣ break (반복문 탈출)
void main() {
for (int i = 0; i < 10; i++) {
if (i == 5) break;
print(i);
}
}
출력:
0
1
2
3
4
- i == 5일 때 break가 실행되어 반복문이 즉시 종료됩니다.
2️⃣ continue (다음 반복으로 이동)
void main() {
for (int i = 0; i < 5; i++) {
if (i == 2) continue;
print(i);
}
}
출력:
0
1
3
4
- i == 2일 때 continue가 실행되면 print(i)가 실행되지 않고 다음 반복으로 넘어갑니다.
🛠 정리
제어문 설명
if-else | 조건에 따라 코드 실행 |
switch-case | 여러 값 중 하나 선택 |
for | 반복문 (고정 횟수) |
for-in | 리스트 요소 반복 |
while | 조건이 true이면 반복 |
do-while | 최소 1번 실행 후 조건 검사 |
break | 반복문 탈출 |
continue | 현재 반복 건너뛰고 다음 반복 실행 |
반응형
'[문법] 다트(Dart)' 카테고리의 다른 글
[고급] 5강. Dart의 비동기 처리 (async, await, Future) 완벽 정리 (0) | 2025.02.12 |
---|---|
[중급] 4강. Dart의 클래스 및 객체 지향 프로그래밍 (OOP) 개념과 문법 완벽 정리 (0) | 2025.02.12 |
[기초] 3강. Dart 함수 문법 총정리 - 매개변수, 반환값, 고차 함수까지! (0) | 2025.02.12 |
[기초] 1강. Dart 변수 완벽 정리 - 리스트, 맵, Set까지 한 번에! (0) | 2025.02.12 |