Bagikan melalui


Pernyataan While...End While (Visual Basic)

Menjalankan serangkaian pernyataan selama kondisi tertentu adalah True.

Sintaks

While condition
    [ statements ]
    [ Continue While ]
    [ statements ]
    [ Exit While ]
    [ statements ]
End While

Generator

Term Definisi
condition Harus diisi. Booleanekspresi. Jika condition adalah Nothing, Visual Basic memperlakukannya sebagai False.
statements Opsional. Satu atau beberapa pernyataan berikut While, yang berjalan setiap condition adalah True.
Continue While Opsional. Mentransfer kontrol ke perulangan berikutnya dari blok While.
Exit While Opsional. Mentransfer kontrol keluar dari blok While.
End While Harus diisi. Mengakhiri definisi While blok.

Keterangan

Gunakan struktur While...End While saat Anda ingin mengulang sekumpulan pernyataan dalam jumlah yang tidak terbatas, selama suatu kondisi tetap True. Jika Anda menginginkan lebih banyak fleksibilitas dengan tempat Anda menguji kondisi atau hasil apa yang Anda uji, Anda mungkin lebih suka Pernyataan Do...Loop. Jika Anda ingin mengulangi pernyataan beberapa kali, Pernyataan For...Next biasanya merupakan pilihan yang lebih baik.

Catatan

Kata kunci While juga digunakan dalam Pernyataan Do... Loop, Klausul Skip While dan Klausul Take While.

Jika condition adalah True, semua statements berjalan hingga pernyataan End While ditemui. Kontrol kemudian kembali ke pernyataan While, dan condition kembali diperiksa. Jika condition masih True, proses diulang. Jika itu False, kontrol meneruskan ke pernyataan yang mengikuti pernyataan End While.

Pernyataan While selalu memeriksa kondisi sebelum memulai perulangan. Perulangan berlanjut jika kondisi masih True. Jika condition adalah False ketika Anda pertama kali masuk perulangan, itu tidak berjalan satu kali pun.

condition biasanya dihasilkan dari perbandingan dua nilai, tetapi dapat berupa ekspresi apa pun yang mengevaluasi ke nilai Jenis Data Boolean (True or False). Ekspresi ini dapat menyertakan nilai jenis data lain, seperti jenis numerik, yang telah dikonversi ke Boolean.

Anda dapat menyarangkan perulangan While dengan menempatkan satu perulangan di dalam perulangan lainnya. Anda juga dapat menyarangkan berbagai jenis struktur kontrol dalam satu sama lain. Untuk informasi selengkapnya, lihat Struktur Kontrol Berlapis.

Exit While (Keluar Jika)

Pernyataan Exit While dapat memberikan cara lain untuk keluar dari perulangan While. Exit While segera mentransfer kontrol ke pernyataan yang mengikuti pernyataan End While.

Anda biasanya menggunakan Exit While setelah beberapa kondisi dievaluasi (misalnya, dalam struktur If...Then...Else). Anda mungkin ingin keluar dari perulangan jika Anda mendeteksi kondisi yang membuatnya tidak perlu atau tidak mungkin untuk melanjutkan iterasi, seperti nilai yang salah atau permintaan penghentian. Salah satu penggunaan Exit While adalah menguji kondisi yang dapat menyebabkan perulangan tanpa akhir, yang merupakan perulangan yang dapat berjalan dalam jumlah besar atau bahkan tak terbatas. Anda dapat menggunakan Exit While untuk keluar dari perulangan.

Anda dapat menyertakan sejumlah pernyataan Exit While di mana saja dalam perulangan While.

Ketika digunakan dalam perulangan While berlapis, Exit While mentransfer kontrol keluar dari perulangan terdalam dan ke tingkat bersarang berikutnya yang lebih tinggi.

Pernyataan Continue While segera mentransfer kontrol ke iterasi perulangan berikutnya. Untuk informasi selengkapnya, lihat Pernyataan Continue.

Contoh 1

Dalam contoh berikut, pernyataan dalam perulangan terus berjalan hingga variabel index lebih besar dari 10.

Dim index As Integer = 0
While index <= 10
    Debug.Write(index.ToString & " ")
    index += 1
End While

Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10 

Contoh 2

Contoh berikut mengilustrasikan penggunaan pernyataan Continue While dan Exit While.

Dim index As Integer = 0
While index < 100000
    index += 1

    ' If index is between 5 and 7, continue
    ' with the next iteration.
    If index >= 5 And index <= 8 Then
        Continue While
    End If

    ' Display the index.
    Debug.Write(index.ToString & " ")

    ' If index is 10, exit the loop.
    If index = 10 Then
        Exit While
    End If
End While

Debug.WriteLine("")
' Output: 1 2 3 4 9 10

Contoh 3

Contoh berikut membaca semua baris dalam file teks. Metode OpenText membuka file dan mengembalikan StreamReader yang membaca karakter. Dalam kondisi While, metode Peek dari StreamReader menentukan apakah file berisi karakter tambahan.

Private Sub ShowText(ByVal textFilePath As String)
    If System.IO.File.Exists(textFilePath) = False Then
        Debug.WriteLine("File Not Found: " & textFilePath)
    Else
        Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath)

        While sr.Peek() >= 0
            Debug.WriteLine(sr.ReadLine())
        End While

        sr.Close()
    End If
End Sub

Lihat juga