CodeGym /Kurslar /Java SELF AZ /Şərt operatorunun incəlikləri

Şərt operatorunun incəlikləri

Java SELF AZ
Səviyyə , Dərs
Mövcuddur

1. if-lərin sırası

Bəzən proqramda bir dəyişənin və ya ifadənin dəyərindən asılı olaraq müxtəlif əməliyyatları yerinə yetirmək lazım olur.

Tutaq ki, tapşırıq belədir:

  • Əgər temperatur 20 dərəcədən yüksəkdirsə — köynək geyinin
  • Əgər temperatur 10 dərəcədən yüksəkdirsə və 20 dərəcədən az (və ya bərabərdirsə) — sviter geyinin
  • Əgər temperatur 0 dərəcədən yüksəkdirsə və 10 dərəcədən az (və ya bərabərdirsə) — plaş geyinin
  • Əgər temperatur 0 dərəcədən aşağıdırsa — palto geyinin.

Bunu kodla belə təsvir etmək olar:

int temperature = 9;

if (temperature > 20)
   System.out.println("köynək geyinin");
else // burada temperatur 20-dən az (və ya bərabərdir)
{
   if (temperature > 10)
      System.out.println("sviter geyinin");
   else // burada temperatur 10-dan az (və ya bərabərdir)
   {
      if (temperature > 0)
         System.out.println("plaş geyinin");
      else // burada temperatur 0-dan aşağıdır
         System.out.println("palto geyinin");
   }
}

if-else operatorlarını bir-birinin içərisinə yuya bilərsiniz və bununla proqramda kifayət qədər mürəkkəb məntiq qura bilərsiniz.

Amma göstərilən nümunə maraqlıdır ki, məhz bu halda əyri mötərizələri buraxıb, kodu bir az sadələşdirmək olar:

int temperature = 9;

if (temperature > 20)
   System.out.println("köynək geyinin");
else // burada temperatur 20-dən az (və ya bərabərdir)
   if (temperature > 10)
      System.out.println("sviter geyinin");
   else // burada temperatur 10-dan az (və ya bərabərdir)
      if (temperature > 0)
         System.out.println("plaş geyinin");
      else // burada temperatur 0-dan aşağıdır
         System.out.println("palto geyinin");

Amma adətən proqramçılar bu konstruksiyanı bir qədər fərqli şəkildə yazır:

int temperature = 9;

if (temperature > 20)
   System.out.println("köynək geyinin");
else if (temperature > 10) // burada temperatur 20-dən az (və ya bərabərdir)
   System.out.println("sviter geyinin");
else if (temperature > 0) // burada temperatur 10-dan az (və ya bərabərdir)
   System.out.println("plaş geyinin");
else // burada temperatur 0-dan aşağıdır
   System.out.println("palto geyinin");

Göstərilən hər üç nümunə eyni ekvivalentdir.


2. else-in incəlikləri

Vacib məqam:

Əgər if-else strukturunda qərzuli mötərizələr yazılmayıbsa, else ona ən yaxın olan əvvəlki if-ə aiddir.

Nümunə:

Kodumuz Necə işləyəcək
int age = 65;

if (age < 60)
   if (age > 20)
      System.out.println("İşləmək lazımdır");
else
   System.out.println("İşləmək lazım deyil");
int age = 65;

if (age < 60)
{
   if (age > 20)
     System.out.println("İşləmək lazımdır");
   else
     System.out.println("İşləmək lazım deyil");
}

Sola baxsaq, belə görünür ki, ekrana «İşləmək lazım deyil» yazılır. Amma bu belə deyil. Əslində else və «İşləmək lazım deyil» komandası ikinci (ən yaxın) if-ə aiddir.

Sağdakı kodda qırmızı ilə əlaqəli olan ifelse qeyd olunub. Həmçinin mötərizələr xüsusi olaraq yerləşdirilib ki, əməliyyatların icra ardıcıllığını açıq şəkildə göstərsin. İşləmək lazım deyil yazısı heç vaxt ekrana çıxmır əgər age 60-dan böyükdür 😛



3. if-else operatorunun istifadəsi nümunəsi

Biz artıq if-else operatorunu yaxşıca öyrəndiksə, nümunə gətirək:

import java.util.Scanner;
public class Solution {
   public static void main(String[] args)
   {
     Scanner console = new Scanner(System.in);  // Scanner obyektini yaradırıq
     int a = console.nextInt();  // klaviaturadan birinci ədədi oxuyuruq
     int b = console.nextInt();  // klaviaturadan ikinci ədədi oxuyuruq
     if (a < b)                   // əgər a b-dən kiçikdirsə
       System.out.println(a);     // ekrana a-nı çıxarırıq
     else                         // əks halda
       System.out.println(b);     // ekrana b-ni çıxarırıq
   }
}
İki ədədin ən kiçiyini ekrana çıxarma


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