Chuyển tới nội dung chính

Vòng lặp

Giới thiệu

Wave 언어에서는 동일한 코드를 여러 번 실행해야 하는 상황을 처리하기 위해 반복문을 제공합니다. 반복문은 특정 조건이 만족되는 동안 코드를 계속 실행하거나, 정해진 횟수만큼 반복 실행할 때 사용됩니다.

이를 통해 동일한 로직을 반복해서 작성할 필요 없이, 간결하고 명확한 코드로 반복 작업을 표현할 수 있습니다. Wave는 조건 기반 반복과 횟수 기반 반복을 모두 지원하며, 반복 도중 실행 흐름을 제어할 수 있는 키워드도 함께 제공합니다.

이 섹션에서는 while 문과 for 문, 그리고 반복 흐름을 제어하는 break, continue 키워드의 사용 방법을 설명합니다.


Vòng lặp while

while 문은 주어진 조건식이 참(true)으로 평가되는 동안 코드 블록을 반복 실행합니다. 조건식이 거짓(false)이 되는 순간 반복은 즉시 종료됩니다.

이 방식은 반복 횟수가 명확하지 않고, 특정 조건이 만족될 때까지 반복해야 하는 상황에 적합합니다.

Cấu trúc cơ bản

Wave에서 while 문의 기본 구조는 다음과 같습니다.

while (điều kiện) {
// mã lệnh cần lặp lại
}

조건식은 반드시 bool 타입으로 평가되어야 하며, 중괄호 {}로 감싸진 코드 블록 안에는 하나 이상의 명령문을 작성할 수 있습니다.

Ví dụ: In ra từ 0 đến 4

var i :i32 = 0;

while (i < 5) {
println("i là {}.", i);
i = i + 1;
}

이 예제에서는 변수 i가 5보다 작은 동안 반복이 수행됩니다. 매 반복마다 현재 값을 출력하고, i의 값을 1씩 증가시켜 조건이 eventually 거짓이 되도록 만듭니다.


Vòng lặp for

for 문은 반복 횟수가 비교적 명확한 경우에 사용하기 적합한 반복문입니다. 초기값, 조건식, 증감식을 한 번에 정의하여 반복의 흐름을 명확하게 표현할 수 있습니다.

반복 제어에 필요한 요소가 한 곳에 모여 있기 때문에, 반복 구조를 한눈에 파악하기 쉽다는 장점이 있습니다.

기본 구조

for (var 변수명: 타입 = 초기값; 조건식; 증감식) {
// 반복할 코드
}

여기서 반복 변수는 초기값으로 시작하며, 조건식이 참인 동안 반복이 실행됩니다. 각 반복이 끝날 때마다 증감식이 실행되어 반복 변수의 값이 변경됩니다.

Ví dụ: In ra từ 1 đến 5

for (var i: i32 = 1; i <= 5; i = i + 1) {
println("i = {}", i);
}

이 예제에서는 i가 1부터 시작하여 5 이하인 동안 반복이 수행됩니다. 각 반복마다 i의 값을 출력한 후 1씩 증가시킵니다.


Vòng lặp lồng nhau

반복문은 다른 반복문 내부에 작성할 수 있으며, 이를 중첩 반복문이라고 합니다. 중첩 반복문은 2차원 데이터 구조를 순회하거나, 여러 조건의 조합을 처리할 때 유용합니다.

Ví dụ: Vòng lặp while kép

var i :i32 = 0;

while (i < 3) {
var j :i32 = 0;

while (j < 2) {
println("i={}, j={}", i, j);
j = j + 1;
}

i = i + 1;
}

이 예제에서는 바깥쪽 while 문이 한 번 실행될 때마다, 안쪽 while 문이 모두 실행됩니다. 이를 통해 (i, j) 형태의 조합을 순차적으로 처리할 수 있습니다.


Vòng lặp break

break 문은 반복문을 즉시 종료하고, 해당 반복문 바깥으로 흐름을 이동시킵니다. 반복 도중 더 이상 반복을 수행할 필요가 없을 때 사용됩니다.

Ví dụ: Kết thúc vòng lặp tại một giá trị cụ thể

var i :i32 = 0;

while (true) {
if (i == 5) {
break;
}

println(i);
i = i + 1;
}

이 예제에서는 무한 반복문 안에서 i가 5가 되는 순간 break가 실행되어 반복이 종료됩니다. 이처럼 break 문은 반복 조건과 별개로 반복을 제어하고 싶을 때 유용합니다.


Vòng lặp continue

continue 문은 현재 반복에서 남은 코드를 건너뛰고, 다음 반복을 바로 시작합니다. 특정 조건일 때 일부 로직만 생략하고 싶을 경우에 사용됩니다.

Ví dụ: chỉ in số chẵn

for (var i: i32 = 0; i <= 10; i = i + 1) {
if (i % 2 == 1) {
continue;
}

println(i);
}

이 코드에서는 i가 홀수일 경우 continue가 실행되어 출력 부분을 건너뜁니다. 그 결과 짝수 값만 출력됩니다.


Tóm tắt

Wave의 반복문은 조건 기반과 횟수 기반 반복을 모두 자연스럽게 표현할 수 있도록 설계되었습니다. while 문은 조건 중심의 반복에 적합하며, for 문은 반복 횟수와 흐름이 명확한 경우에 유용합니다.

breakcontinue를 함께 사용하면 반복 도중에도 실행 흐름을 세밀하게 제어할 수 있어, 보다 정교하고 유연한 반복 로직을 구성할 수 있습니다.