1. Urutan ifpernyataan

Terkadang suatu program perlu melakukan banyak tindakan berbeda tergantung pada nilai variabel atau nilai ekspresi.

Katakanlah tugas kita adalah seperti ini:

  • Jika suhunya lebih besar dari 20derajat, kenakan baju
  • Jika suhunya lebih besar dari 10derajat dan kurang dari (atau sama dengan) 20, maka kenakan sweter
  • Jika suhu lebih besar dari 0derajat dan kurang dari (atau sama dengan) 10, maka kenakan jas hujan
  • Jika suhunya kurang dari 0derajat, kenakan mantel.

Inilah cara ini dapat direpresentasikan dalam kode:

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-elsepernyataan dapat bersarang di dalam satu sama lain. Ini memungkinkan untuk mengimplementasikan logika yang agak rumit dalam suatu program.

Namun contoh di atas juga menarik karena kita dapat membuat kode sedikit lebih sederhana dengan menghilangkan kurung kurawal:

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");

Namun, pemrogram biasanya menulis konstruk ini sedikit berbeda:

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");

Ketiga contoh ini setara.


2. Nuansa elseblok

Poin penting:

Jika tidak menggunakan kurung kurawal dalam if-elsekonstruk, maka elsemerujuk ke yang terdekat sebelumnya if.

Contoh:

Kode kami Bagaimana cara kerjanya
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 kode di sebelah kiri, tampaknya keluaran layarnya adalah "Anda tidak harus bekerja". Tapi bukan itu masalahnya. Pada kenyataannya, elseblok dan pernyataan "Anda tidak harus bekerja" diasosiasikan dengan ifpernyataan kedua (semakin dekat).

Pada kode di sebelah kanan, yang terkait ifdan elsedisorot dengan warna merah. Selain itu, kurung kurawal ditempatkan dengan jelas, dengan jelas menunjukkan tindakan apa yang akan dilakukan. Apakah string Anda tidak harus bekerja tidak pernah ditampilkan kapan agelebih besar dari 60?



3. Contoh penggunaan if-elsepernyataan

Karena kita telah menjelajahi if-elsepernyataan tersebut dengan sangat baik, mari kita berikan sebuah 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
   }
}
Menampilkan minimal dua angka