1. do-while dövrü ilə tanışlıq
Təsəvvür edin: istifadəçinin düşündüyü rəqəmi təxmin edən bir proqram yazırsınız. Lazımdır ki, ən azı bir dəfə rəqəmi soruşasınız və təxmin edənədək sorğunu təkrarlayasınız. Şərti əvvəlcədən yoxlasanız, adi while ümumiyyətlə dövrə daxil olmaya bilər.
Burada do-while köməyə gəlir. while-dan fərqli olaraq, o, şərt dərhal yanlış olsa belə, dövrün gövdəsini həmişə ən azı bir dəfə icra edəcək. Bu, alışdan asılı olmayaraq kassada saqqız almaq kimidir.
Sintaksis do-while
Hər şey sadədir: Java-da daha bir “açar sözlər cütlüyü”.
do
{
// Dövrün gövdəsi: bu kod ən azı bir dəfə icra olunacaq
}
while (uslovie);
Diqqət yetirin: nöqtəli vergül ; sonda, şərtin mötərizəsindən sonra yerləşir! Adi while-da o yoxdur, burada isə var — yeni başlayanlar üçün klassik tələ.
Do-while dövrünün addımlarının təsviri
- Dövrün gövdəsinə daxil olma (həmişə ən azı bir dəfə).
- Şərtin yoxlanması.
- Şərt doğrudursa — gövdəni təkrarlamaq.
- Şərt yanlışdırsa — dövrdən çıxmaq.
2. Adi while-dan fərqi
Adi while-ın əsas iş ssenarisini xatırlayaq:
while (uslovie)
{
// Dövrün gövdəsi
}
Əgər şərt ilk andan yanlışdırsa, gövdə bir dəfə belə icra olunmayacaq!
İndi isə do-while nümunəsi:
do
{
// Dövrün gövdəsi
}
while (uslovie);
Şərt dərhal yanlış olsa belə, dövrün gövdəsi ən azı bir dəfə icra olunacaq!
Fərqi kodla göstərək:
// Adi while
int count = 0;
while (count > 0)
{
System.out.println("count = " + count);
count--;
}
// Heç nə çap olunmayacaq
// do-while
int count2 = 0;
do
{
System.out.println("count2 = " + count2);
count2--;
}
while (count2 > 0);
// Ekrana "count2 = 0" çıxacaq, baxmayaraq ki, şərt yanlışdır!
Bəzən bu “qəribəlik” kimi görünür, lakin məhz belə davranış istifadəçi daxil etməsi və məlumatların doğrulanması zamanı lazımdır.
3. do-while-ın praktik tətbiq ssenariləri
Bu dövr ən çox harada istifadə olunur?
Daxiletmənin doğrulanması
Məşhur ssenari: istifadəçidən düzgün məlumat daxil etməsini xahiş edirik (məsələn, parol ən azı 6 simvol olsun) və hər şey düzgün olana qədər sorğunu təkrarlayırıq.
String password;
do
{
System.out.print("Yeni parolu daxil edin (ən azı 6 simvol): ");
password = console.nextLine();
}
while (password.length() < 6);
System.out.println("Parol qəbul edildi!");
Gövdə ən azı bir dəfə icra olunacaq — istifadəçi dərhal uzun parol daxil etsə belə.
Konsol tətbiqlərində menyu
Tez-tez rast gəlinən nümunə: menyunu göstərmək, komandanı gözləmək və yalnız xüsusi komanda ilə çıxmaq.
String command;
do
{
System.out.println("Menyu:");
System.out.println("1. Salamlamanı göstər");
System.out.println("2. Çıx");
System.out.print("Fəaliyyəti seçin: ");
command = console.nextLine();
if (command.equals("1"))
{
System.out.println("Salam, dünya!");
}
else if (!command.equals("2"))
{
System.out.println("Naməlum əmr.");
}
}
while (!command.equals("2"));
System.out.println("Hələlik!");
4. Cədvəl: while və digər dövrlərin müqayisəsi
| Dövr növü | Şərtin yoxlanması | Gövdə neçə dəfə icra oluna bilər | Nə zaman uyğundur |
|---|---|---|---|
|
Əvvəl | 0 və daha çox dəfə | Təkrarlama sayı əvvəlcədən məlum olmadıqda |
|
Sonra | 1 və daha çox dəfə | Gövdəni ən azı bir dəfə icra etmək vacib olduqda |
|
Əvvəl | 0 və daha çox dəfə | İterasiya sayı məlum olduqda |
GO TO FULL VERSION