1. Urutan ifpenyataan

Kadangkala program perlu melakukan banyak tindakan berbeza bergantung pada nilai pembolehubah atau nilai ungkapan.

Katakan tugas kita adalah seperti ini:

  • Jika suhu lebih besar daripada 20darjah, kemudian pakai baju
  • Jika suhu lebih besar daripada 10darjah dan kurang daripada (atau sama dengan) 20, maka pakaikan baju sejuk
  • Jika suhu lebih besar daripada 0darjah dan kurang daripada (atau sama dengan) 10, maka pakaikan baju hujan
  • Jika suhu kurang daripada 0darjah, maka letakkan kot.

Begini cara ini boleh diwakili dalam kod:

int temperature = 9;

if (temperature > 20) {
   System.out.println("put on a shirt");
} else { // Here the temperature is less than (or equal to) 20
   if (temperature > 10) {
      System.out.println("put on a sweater");
   } else { // Here the temperature is less than (or equal to) 10
      if (temperature > 0) {
         System.out.println("put on a raincoat");
      } else // Here the temperature is less than 0
         System.out.println("put on a coat");
   }
}

If-elsekenyataan boleh bersarang antara satu sama lain . Ini memungkinkan untuk melaksanakan logik yang agak kompleks dalam program.

Walau bagaimanapun, pengaturcara biasanya menulis binaan ini sedikit berbeza:

int temperature = 9;

if (temperature > 20) {
   System.out.println("put on a shirt");
} else if (temperature > 10) { // Here the temperature is less than (or equal to) 20
   System.out.println("put on a sweater");
} else if (temperature > 0) { // Here the temperature is less than (or equal to) 10
   System.out.println("put on a raincoat");
} else { // Here the temperature is less than 0
   System.out.println("put on a coat");
}

Dua contoh yang diberikan adalah setara, tetapi yang kedua lebih mudah difahami.


2. Nuansa elseblok

Satu perkara penting:

Jika tidak menggunakan pendakap kerinting dalam if-elsebinaan, maka elsemerujuk kepada if.

Contoh:

Kod kami Bagaimana ia akan berfungsi
int age = 65;

if (age < 60)
   if (age > 20)
      System.out.println("You must work");
else
   System.out.println("You don't have to work");
int age = 65;

if (age < 60) {
   if (age > 20)
     System.out.println("You must work");
   else
     System.out.println("You don't have to work");
}

Jika anda melihat kod di sebelah kiri, nampaknya output skrin akan menjadi "Anda tidak perlu bekerja". Tetapi itu tidak berlaku. Pada hakikatnya, elseblok dan pernyataan "Anda tidak perlu bekerja" dikaitkan dengan ifpernyataan kedua (yang lebih dekat).

Dalam kod di sebelah kanan, yang berkaitan ifdan elsediserlahkan dengan warna merah. Selain itu, pendakap kerinting diletakkan dengan jelas, dengan jelas menunjukkan tindakan yang akan dilakukan. Rentetan Anda tidak perlu bekerja tidak akan dipaparkan apabila agelebih besar daripada 60.


4
Tugasan
Java Syntax,  tahappelajaran
Terkunci
This age doesn't work for me…
Sometimes we all want to change our age. First, they don't want to sell you cigarettes or beer. Then your hair starts thinning and your back aches! A programmer may not have control over time, but he or she has total control over data in programs. In this task, we correct an error so that a Person object's age variable receives a different value.

3. Contoh penggunaan if-elsepernyataan

Memandangkan kita meneroka if-elsekenyataan itu dengan baik, mari kita berikan contoh:

import java.util.Scanner;
public class Solution {
   public static void main(String[] args) {
     Scanner console = new Scanner(System.in); // Create a Scanner object
     int a = console.nextInt(); // Read the first number from the keyboard
     int b = console.nextInt(); // Read the second number from the keyboard
     if (a < b)                   // If a is less than b
       System.out.println(a);     // we display a
     else                         // otherwise
       System.out.println(b);     // we display b
   }
}
Memaparkan minimum dua nombor