Pada artikel ini, Anda akan belajar membuat while dan mengulang… while loop dalam pemrograman Swift.
Pada artikel sebelumnya, kita telah mempelajari tentang for-in loop untuk menjalankan sekumpulan tugas dalam beberapa kali. Pada artikel ini, Anda akan belajar menggunakan while
dan repeat… while
sebagai alternatif for-in loop ketika jumlah iterasi tidak diketahui.
A while loop mengeksekusi sekumpulan pernyataan sampai kondisi menjadi false
. Jenis loop ini paling baik digunakan ketika jumlah iterasi tidak diketahui sebelum iterasi pertama dimulai. Swift menyediakan dua jenis loop sementara:
1. Cepat sambil Loop
Loop ini mengevaluasi kondisinya pada awal setiap lintasan melalui loop.
Sintaks while loop adalah:
while (TestExpression) ( // statements )
Bagaimana cara kerja loop?
Itu TestExpression
adalah ekspresi boolean.
Jika TestExpression
dievaluasi untuk true
,
- pernyataan di dalam while loop dijalankan.
- dan
TestExpression
dievaluasi lagi.
Proses ini berlangsung sampai TestExpression
dievaluasi false
. Jika TestExpression
mengevaluasi ke false
, sementara perulangan dihentikan.
Diagram alir saat Loop
Contoh 1: While Loop
var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true while (currentLevel <= finalLevel) ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) print("outside of while loop")
Saat Anda menjalankan program, hasilnya adalah:
Anda telah melewati level 0 Anda telah melewati level 1 Anda telah melewati level 2 Anda telah melewati level 3 Anda telah melewati level 4 Anda telah melewati level 5 di luar while loop
Dalam program di atas, variabel currentLevel dan finalLevel diinisialisasi ke 0 dan konstan gameCompleted diinisialisasi true
.
Di setiap iterasi while loop, ia memeriksa kondisinya currentLevel <= finalLevel
. Jika kondisi kembali true
, pernyataan di dalam while loop dijalankan jika tidak loop akan berakhir.
Pengulangan | Kondisi (currentLevel <= finalLevel) | Keluaran |
---|---|---|
1 | 0 <= 5 (benar) | Anda telah melewati level 0 |
2 | 1 <= 5 (benar) | Anda telah melewati level 1 |
3 | 2 <= 5 (benar) | Anda telah melewati level 2 |
4 | 3 <= 5 (benar) | Anda telah melewati level 3 |
5 | 4 <= 5 (benar) | Anda telah melewati level 4 |
6 | 5 <= 5 (benar) | Anda telah melewati level 5 |
7 | 6 <= 5 (salah) | di luar loop sementara |
2. Ulangi saat Loop
Perulangan ini mengevaluasi kondisinya di akhir setiap lintasan melalui perulangan. Pengulangan… while loop mirip dengan perulangan while dengan satu perbedaan utama. Body of repeat… while loop dijalankan satu kali sebelum ekspresi uji dicentang.
Sintaks pengulangan… while loop adalah:
repeat ( // statements… ) while (testExpression)
Bagaimana mengulang… saat loop bekerja?
Body of repeat… while loop dijalankan sekali (sebelum memeriksa ekspresi tes). Setelah itu, testExpression dicentang.
Jika testExpression dievaluasi ke true, pernyataan di dalam badan perulangan dijalankan, dan testExpression dievaluasi lagi. Proses ini berlangsung sampai testExpression dievaluasi false
.
Ketika testExpression adalah false
, pengulangan… saat perulangan berakhir.
Diagram alir pengulangan… saat Loop
Contoh 2: Ulangi saat Loop
var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true repeat ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) while (currentLevel <= finalLevel) print("outside of repeat while loop")
Saat Anda menjalankan program, hasilnya adalah:
Anda telah melewati level 0 Anda telah melewati level 1 Anda telah melewati level 2 Anda telah melewati level 3 Anda telah melewati level 4 Anda telah melewati level 5 di luar pengulangan while loop
Dalam contoh di atas, untuk pertama kalinya pernyataan di dalam loop dijalankan. Dan untuk iterasi berikutnya, ia memeriksa kondisinya currentLevel <= finalLevel
.
Jika kondisi kembali true
, pernyataan di dalam while loop dijalankan jika tidak loop akan berakhir.
Pengulangan | Kondisi (currentLevel <= finalLevel) | Keluaran |
---|---|---|
1 | 0 <= 5 (benar) | Anda telah melewati level 0 |
2 | 1 <= 5 (benar) | Anda telah melewati level 1 |
3 | 2 <= 5 (benar) | Anda telah melewati level 2 |
4 | 3 <= 5 (benar) | Anda telah melewati level 3 |
5 | 4 <= 5 (benar) | Anda telah melewati level 4 |
6 | 5 <= 5 (benar) | Anda telah melewati level 5 |
7 | 6 <= 5 (salah) | di luar ulangi while loop |
Meskipun keduanya while
dan repeat while
loop memiliki langkah-langkah eksekusi yang sama, kondisi currentLevel <= finalLevel
pada repeat while
loop hanya dijalankan setelah menjalankan pernyataan di dalamnya.
Namun dalam while
, kondisi diperiksa di awal sebelum menjalankan pernyataan di dalamnya.
3. Tak terbatas sementara Loop
Jika ekspresi uji tidak pernah dievaluasi ke false
, badan dari while
dan repeat… while
loop akan dieksekusi berkali-kali.
Contoh 3: Infinite while Loop
while (true) ( print("Hello, World!") )
repeat ( print("Hello, World!") ) while (true)
Saat Anda menjalankan program, hasilnya adalah:
Halo Dunia! Halo Dunia!…
Ketika Anda menjalankan program, kedua loop mengeksekusi print("Hello, World!")
pernyataan untuk beberapa kali. Jadi, Anda dapat melihat keluaran berkelanjutan. Halo, Dunia! di konsol.