CodeGym /Kurslar /JAVA 25 SELF /Döngüyə nəzarət: break

Döngüyə nəzarət: breakcontinue operatorları

JAVA 25 SELF
Səviyyə , Dərs
Mövcuddur

1. Giriş

Tez-tez elə vəziyyət olur ki, döngünün bütün iterasiyalarını sonadək işlətməyə ehtiyac yoxdur, əksinə, ondan vaxtından əvvəl çıxmaq lazımdır — məsələn, axtardığınız elementi tapan kimi. Başqa hallarda işin bir hissəsini buraxıb növbəti mərhələyə keçmək gərəkir (məsələn, məlumatı oxumusunuz və onun emalını buraxmaq istəyirsiniz). Bu, döngü daxilində axının idarə edilməsidir.

Java-da breakcontinue operatorları məhz bunun üçün nəzərdə tutulub. Gəlin, onların necə işlədiyini və real tapşırıqlarda nə üçün faydalı olduqlarını anlayaq.

2. Operator break: «Dayan, maşın!»

Nəzəriyyə və sintaksis

Operator break döngünün gövdəsində harada olmağınızdan asılı olmayaraq, ondan dərhal çıxmaq üçün istifadə olunur. Proqramın icrası break-ə çatdığı anda döngü dərhal bitir və icra döngüdən sonra gələn ilk sətirdən davam edir.


while (uslovie)
{
    if (kakoe-to_uslovie)
    {
        break;
    }
    // döngünün qalan kodu
}
break operatorunun while döngüsündə istifadəsi

Eyni şey fordo-while üçün də işləyir:

for (int i = 0; i < 10; i++)
{
    if (kakoe-to_uslovie)
    {
        break;
    }
    // döngünün qalan kodu
}

Nümunə 1: ədədin sadəliyinin yoxlanması

Ədəd yalnız 1-ə və özünə bölünürsə, o sadədir. Ədədi sadəlik baxımından yoxlamaq lazımdır: mümkün bölənləri 2-dən n-1-ə qədər nəzərdən keçiririk. Əgər məlum oldu ki, ədəd hər hansı bir bölənə qalıqsız bölünür, daha yoxlamağa ehtiyac yoxdur — ədəd sadə deyil! Döngünü bitirmək olar.

Nümunə:

int number = 111;
boolean found = false;
for (int i = 2; i < number; i++)
{
    if (number % i == 0)
    {
        found = true;
        System.out.println("Bölən tapıldı " + i );
        break; // Döngünü dayandırırıq, artıq nəsə axtarmağa ehtiyac yoxdur!                
    }    
}

if (!found)
{
    System.out.println("Bölən tapılmadı — ədəd sadədir.");
}

Nümunə 2: istifadəçi daxilinin validasiyası

Gəlin kiçik bir tətbiq yazaq, məsələn, məlumat toplamaq üçün interaktiv anket:

while (true)
{
    System.out.print("Yaşınızı daxil edin: ");

    if (console.hasNextInt())
    {
        int age = console.nextInt();
        if (age > 0)
        {
            System.out.println("Əla! Yaşınız: " + age);
            break; // məlumat düzgündür — çıxırıq
        }
        else
        {
            System.out.println("Xəta! Müsbət yaş daxil edin.");
        }
    }
    else
    {
        System.out.println("Xəta! Rəqəm daxil edin.");
        console.nextLine(); // yanlış girişi təmizləyirik
    }
}

Nəyə lazımdır:
Bəzən istifadəçi düzgün məlumat daxil edənə qədər döngünü sonsuz (və ya çox uzun) işlətmək lazımdır. Arzu olunan hadisə baş verən kimi — break tətbiq edirik və döngüdən tam çıxırıq.

3. Operator continue: «Növbəti, zəhmət olmasa!»

Nəzəriyyə və sintaksis

break-dən fərqli olaraq, operator continue bütün döngünü tamamlamır, yalnız cari iterasiyanı dayandırır: döngü gövdəsində continue-dan sonra yazılanlar İCRA OLUNMUR — növbəti iterasiyaya keçid baş verir.


for (int i = 0; i < 10; i++)
{
    if (uslovie)
    {
        continue;
    }
    // bu hissə yalnız continue işləmədikdə icra olunacaq
}
continue operatorunun for döngüsündə istifadəsi

Nümunə 3: cüt ədədləri buraxmaq

Təsəvvür edin ki, yalnız tək ədədləri aralıqdan çıxarmalısınız. Cütləri buraxmaq lazımdır.


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // əgər ədəd cütdürsə — aşağıdakıların hamısını buraxırıq!
    }
    System.out.println("Tək ədəd: " + i);
}
continue vasitəsilə cüt ədədləri buraxmaq

Nə baş verir:
i = 2, 4, 6... olduqda döngü continue ilə qarşılaşır və dərhal növbəti iterasiyaya keçir, System.out.println icra olunmur.

Addım-addım iş zamanı vizuallaşdırma:

i i % 2 == 0 Fəaliyyət
1 false print, continue yoxdur
2 true continue, print yoxdur
3 false print, continue yoxdur
... ... ...

Operatorlar breakcontinue çox tez-tez istifadə olunur. Demək olar ki, hər ikinci döngüdə. Onlarla işləməyi bəyənəcəksiniz.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION