반복문은 특정 코드 블록을 여러 번 실행할 때 사용됩니다.
Dart에서는 for 문, while 문, do-while 문을 사용하여 반복을 구현할 수 있습니다.
각 반복문의 특징과 사용법을 알아보고, 직접 실습해보세요!
for 문
•
사용 시점
◦
반복 횟수가 정해져 있을 때 사용
◦
리스트(List)나 배열(Array)의 요소를 하나씩 가져올 때 사용
•
기본 구조
for (초기값; 조건; 증감식) {
// 실행할 코드
}
Dart
복사
◦
예제 1: 1부터 5까지 출력하기
void main() {
for (int i = 1; i <= 5; i++) {
print("반복 횟수: $i");
}
}
//실행결과
//반복 횟수: 1
//반복 횟수: 2
//반복 횟수: 3
//반복 횟수: 4
//반복 횟수: 5
Dart
복사
◦
예제 2: 리스트(List)의 모든 요소 출력하기
void main() {
List<String> fruits = ["사과", "바나나", "오렌지"];
for (int i = 0; i < fruits.length; i++) {
print("과일: ${fruits[i]}");
}
}
//실행결과
과일: 사과
과일: 바나나
과일: 오렌지
Dart
복사
while 문
•
사용 시점
◦
반복 횟수가 정해져 있지 않을 때 사용
◦
특정 조건이 참(true)인 동안 계속 반복 실행
•
기본 구조
while (조건) {
// 실행할 코드
}
Dart
복사
◦
예제 3: 1부터 5까지 출력하기 (while 문 사용)
void main() {
int i = 1;
while (i <= 5) {
print("현재 숫자: $i");
i++;
}
}
//실행결과
복사편집
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
현재 숫자: 5
Dart
복사
◦
예제 4: 사용자가 0을 입력할 때까지 숫자를 계속 입력받기
import 'dart:io';
void main() {
int input = -1; // 초기값 설정
while (input != 0) {
print("숫자를 입력하세요 (0을 입력하면 종료): ");
input = int.parse(stdin.readLineSync()!);
}
print("프로그램을 종료합니다.");
}
//실행결과
숫자를 입력하세요 (0을 입력하면 종료): 5
숫자를 입력하세요 (0을 입력하면 종료): 3
숫자를 입력하세요 (0을 입력하면 종료): 0
프로그램을 종료합니다.
Dart
복사
do-while 문
•
사용 시점
◦
while 문과 비슷하지만, 최소 한 번은 실행해야 할 때 사용
◦
반복 조건이 나중에 평가되므로, 처음 실행될 때 조건을 검사하지 않음
•
기본 구조
do {
// 실행할 코드
} while (조건);
Dart
복사
◦
예제 5: 최소 한 번 실행 후 조건 검사하기
void main() {
int num = 10;
do {
print("현재 숫자: $num");
num--;
} while (num > 5);
}
//실행결과
현재 숫자: 10
현재 숫자: 9
현재 숫자: 8
현재 숫자: 7
현재 숫자: 6
Dart
복사
◦
예제 6: 올바른 비밀번호 입력 전까지 계속 입력 받기
import 'dart:io';
void main() {
String password = "";
do {
print("비밀번호를 입력하세요:");
password = stdin.readLineSync()!;
} while (password != "1234");
print("비밀번호가 맞습니다!");
}
//실행결과
비밀번호를 입력하세요: 1111
비밀번호를 입력하세요: 2222
비밀번호를 입력하세요: 1234
비밀번호가 맞습니다!
Dart
복사
for vs while vs do-while 비교
반복문 | 사용 시점 | 특징 |
for 문 | 반복 횟수가 정해져 있을 때 | 초기값, 조건, 증감식을 한 줄에 작성 |
while 문 | 반복 횟수가 정해져 있지 않을 때 | 조건이 true인 동안 반복 |
do-while 문 | 최소 한 번은 실행해야 할 때 | 조건 검사 전에 코드 실행 |
과제
힌트
정답코드(20분 이상 시도하고 펼쳐보기!)
힌트
정답코드(20분 이상 시도하고 펼쳐보기!)
힌트
정답코드(20분 이상 시도하고 펼쳐보기!)