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 break və continue 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
}
Eyni şey for və do-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
}
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);
}
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 break və continue ç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.
GO TO FULL VERSION