CodeGym /Kurslar /JAVA 25 SELF /Şərt operatoru: if else

Şərt operatoru: if else

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

1. if else operatoru

Proqramlar xarici şərait dəyişsə belə, hamısı eyni şeyi etsəydi, onlardan çox az fayda olardı. Proqram müxtəlif vəziyyətlərə uyğunlaşmağı bacarmalıdır: bəzi hallarda bir hərəkəti, digərlərində isə başqa hərəkəti yerinə yetirməlidir.

Java-da bu, şərt operatoru ilə — şərtin doğruluğundan asılı olaraq müxtəlif əmrlər bloklarını icra etməyə imkan verən if və else açar sözləri ilə həyata keçirilir.

Şərt operatoru üç hissədən ibarətdir: şərt, əmr 1 və əmr 2. Əgər şərt doğru olarsa, əmr 1 icra edilir, əks halda əmr 2 icra edilir. Əmrlər heç vaxt eyni anda icra olunmur. Operatorun ümumi görünüşü belədir:


if (usloviye)
   komanda1;
else
   komanda2;
Şərt operatoru if-else

if «əgər», else isə «əks halda» deməkdir. İnsan dilində bunu belə yazmaq olar:


Esli usloviye istinno, to
   vypolnit’ komanda1;
inache
   vypolnit’ komanda2;
Şərt operatoru if-else insan dilində

Nümunələr:

// Ekrana bu yazı çıxacaq: Siz hələ uşaqsınız

int age = 17;
if (age < 18)
   System.out.println("Siz hələ uşaqsınız");
else
   System.out.println("Siz artıq böyüksünüz");
// Ekrana bu yazı çıxacaq: İlıqdır

int temperature = 5;
if (temperature < 0)
   System.out.println("Çöldə şaxtadır");
else
   System.out.println("İlıqdır");
// Ekrana bu yazı çıxacaq: Sürücülük vəsiqəsinə imtahan verə bilərsiniz

int age = 18;
if (age == 18)
   System.out.println("Sürücülük vəsiqəsinə imtahan verə bilərsiniz");
else
   System.out.println("Maşın üçün pul yığa bilərsiniz");

2. Əmrlər bloku

Əgər şərt ödənildikdə (və ya ödənilmədikdə) proqramınızın bir neçə əmri yerinə yetirməsini istəyirsinizsə, onları əmrlər blokunda birləşdirə bilərsiniz.

Əmrləri bir bloka birləşdirmək üçün onları fiqurlu mötərizələrə «bükmək» lazımdır. Ümumi halda bu belə görünür:


{
   komanda1;
   komanda2;
   komanda3;
}

Blokda əmrlərin sayı istənilən qədər ola bilər. Hətta sıfır da.

if-else operatoru ilə əmrlər blokunun birlikdə istifadəsinə nümunələr:

// Ekrana bu yazı çıxacaq: Sən hələ uşaqsan. Böyüklərlə mübahisə etmə

int age = 17;
if (age < 18)
{
   System.out.println("Sən hələ uşaqsan");
   System.out.println("Böyüklərlə mübahisə etmə");
}
else
{
   System.out.println("Siz artıq böyüksünüz");
   System.out.println("Eh, bu gənclik də");
}
// Ekrana bu yazı çıxacaq: İlıqdır

int temperature = 5;
if (temperature < 0)
{
   System.out.println("Çöldə şaxtadır");
   System.out.println("Papağını geyin");
}
else
   System.out.println("İlıqdır");
// Boş əmrlər bloku icra olunacaq. Ekrana heç nə çıxmayacaq. 

int age = 21;
if (age == 18)
   System.out.println("Sürücülük vəsiqəsini almaq olar");
else
{
}

3. if operatorunun qısa sintaksisi

Əgər else blokunda kod yoxdursa, onu buraxmaq olar. O zaman if operatoru bu cür görünəcək:


if (usloviye)
{
    komanda1;
}
Şərt operatoru if

Nümunə:

int age = 19;
if (age >= 18)
{
    System.out.println("Siz artıq yetkinsiniz!");
}

Bu necə işləyir?

Əgər şərt doğrudursa, blok icra olunur. Yalandırsa, heç nə baş vermir — proqram davam edir.

Proqramda else bloku var, amma o boşdur (fiqurlu mötərizələr arasında heç bir əmri yoxdur). Onu sadəcə silə bilərsiniz: proqramın davranışı dəyişməyəcək.

4. Şərtlərin birləşdirilməsi: else if

Bəzən yalnız «bəli/xeyr» yox, bir neçə variantdan seçim etmək lazım olur. Burada else if zənciri köməyə gəlir:

if (usloviye1)
{
    // usloviye1 doğru olduqda icra olunur
}
else if (usloviye2)
{
    // usloviye2 doğru, usloviye1 isə yalan olduqda icra olunur
}
else
{
    // Yuxarıdakı şərtlərin heç biri uyğun gəlmədikdə icra olunur
}

Nümunə:

int hour = 13;
if (hour < 12)
{
    System.out.println("Sabahınız xeyir!");
}
else if (hour < 18)
{
    System.out.println("Gününüz xeyir!");
}
else
{
    System.out.println("Axşamınız xeyir!");
}

Burada nə baş verir?

  • Vaxt 12-dən əvvəldirsə — səhərdir.
  • 12-dən 18-ə qədərdirsə — gündüzdür.
  • Daha çoxdursa — axşamdır.
  • Proqram yalnız BİR variantı seçir! Hər hansı şərt uyğun gələn kimi — qalanları ümumiyyətlə yoxlanmır.

5. Sxematik illüstrasiya: budaqlanmanın blok-sxemi

Bu, blok-sxem şəklində belə görünür:

Bir neçə şərt olduqda:

Bu, masaüstü rol oyunlarındakı yolayrıclarını çox xatırladır: sola gedirsən — bir şey, sağa — başqa şey, düz — daha nəsə!

6. Hansı şərtləri yoxlamaq olar?

if-dən sonra dairəvi mötərizələrin içində nəticəsi true və ya false olan MƏNTİQİ ifadə olmalıdır.

Əsas müqayisə operatorları:

Operator Mənası Nümunə
==
Bərabərdir
x == 5
!=
Bərabər deyil
x != 10
>
Böyüktür
x > 0
<
Kiçikdir
age < 18
>=
Böyük və ya bərabərdir
score >= 100
<=
Kiçik və ya bərabərdir
count <= 50

Şərtlərə nümunələr:

if (number == 10)
if (age != 18)
if (temperature > 36)
if (balance <= 0)

Qeyd: = (bir işarə) — mənimsətmədir. == (iki işarə) — müqayisədir. Bu, yeni başlayanlar arasında ən məşhur səhvlərdən biridir! Əgər təsadüfən belə yazsanız:

if (x = 5) // XƏTA!

— kompilyator xəta verəcək, və tamamilə haqlı olacaq.

7. Şərtlərdə sətirlərlə işləmək

== ilə müqayisə Java-da ədədlər üçün düzgün işləyir. Kəsr ədədləri == ilə müqayisə etmək məsləhət deyil, sətirləri isə == ilə müqayisə etmək olmaz — sətirlər üçün equals() metodundan istifadə edin; o, sətirlərin məzmununu (yoxsa istinadları deyil) müqayisə edir.

Sətirlərin müqayisəsinin incəlikləri barədə daha sonra danışacağıq. Sətirləri düzgün müqayisə etmək isə — aşağıdakı nümunədə:

String password = console.nextLine();
if (password.equals("qwerty"))            // equals() metodunu çağırırıq və ona ikinci sətiri ötürürük
{
    System.out.println("Siz daxil oldunuz!");
}

8. Xüsusiyyətlər və incəliklər:

Fiqurlu mötərizələr: lazımdır, yoxsa yox?

Əgər if və ya else-dən sonra yalnız bir əmrdirsə, fiqurlu mötərizələri buraxmaq olar:

if (age > 18)
    System.out.println("Yaşınız 18-dən böyükdür!");

// Amma onları HƏR ZAMAN yazmaq daha təhlükəsizdir:
if (age > 18)
{
    System.out.println("Yaşınız 18-dən böyükdür!");
}

Məsləhət: həmişə mötərizələrlə yazın. Bu, xüsusən kodu genişləndirəndə bir çox xətadan sizi qoruyacaq.

Məntiqi səhvlər: şərtlərdə diqqətli olun!

Belə yazsanız:

if (age > 18)
    System.out.println("Yaşınız 18-dən böyükdür!");
    System.out.println("Xoş gəlmisiniz!");

Kompilyator bu kodu belə oxuyacaq:

if (age > 18)
{
    System.out.println("Yaşınız 18-dən böyükdür!");
}

System.out.println("Xoş gəlmisiniz!");

İkinci sətir həmişə icra olunacaq — hər iki sətirin «budaq» içində olması üçün mötərizələr lazımdır.

1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Kino bileti almaq 🎬
Kino bileti almaq 🎬
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Çöldə hava yoxlaması ❄️
Çöldə hava yoxlaması ❄️
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Hesabın kilidinin açılması 🔒
Hesabın kilidinin açılması 🔒
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Günün vaxtına görə salamlaşma ☀️
Günün vaxtına görə salamlaşma ☀️
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION