1. Pagkakasunod-sunod ng ifmga pahayag

Minsan ang isang programa ay kailangang magsagawa ng maraming iba't ibang mga aksyon depende sa halaga ng isang variable o sa halaga ng isang expression.

Sabihin nating ang ating gawain ay ganito:

  • Kung ang temperatura ay mas malaki kaysa sa 20mga degree, pagkatapos ay ilagay sa isang kamiseta
  • Kung ang temperatura ay mas malaki kaysa sa 10mga degree at mas mababa sa (o katumbas ng) 20, pagkatapos ay magsuot ng panglamig
  • Kung ang temperatura ay mas mataas kaysa sa 0mga degree at mas mababa sa (o katumbas ng) 10, pagkatapos ay magsuot ng kapote
  • Kung ang temperatura ay mas mababa sa 0degrees, pagkatapos ay ilagay sa isang amerikana.

Narito kung paano ito maipakita sa code:

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-elseang mga pahayag ay maaring ilagay sa loob ng isa't isa . Ginagawa nitong posible na ipatupad ang medyo kumplikadong lohika sa isang programa.

Gayunpaman, karaniwang isinulat ng mga programmer ang construct na ito nang medyo naiiba:

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

Ang dalawang halimbawang ibinigay ay katumbas, ngunit ang pangalawa ay mas madaling maunawaan.


2. Nuances ng elseblock

Isang mahalagang punto:

Kung hindi gagamit ng mga kulot na brace sa isang if-elseconstruct, ang elsetinutukoy ay ang pinakamalapit na naunang if.

Halimbawa:

Ang aming code Paano ito gagana
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");
}

Kung titingnan mo ang code sa kaliwa, tila ang magiging output ng screen ay "Hindi mo kailangang magtrabaho". Ngunit hindi iyon ang kaso. Sa katotohanan, ang elseblock at ang "You don't have to work" na pahayag ay nauugnay sa pangalawa (ang mas malapit) ifna pahayag.

Sa code sa kanan, ang nauugnay ifat elsenaka-highlight sa pula. Bukod pa rito, ang mga kulot na brace ay inilalagay nang hindi malabo, na malinaw na nagpapakita kung anong mga aksyon ang isasagawa. Ang string na Hindi mo kailangang magtrabaho ay hindi kailanman ipinapakita kapag agemas malaki kaysa sa 60.


4
Gawain
Java Syntax,  antasaralin
Naka-lock
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. Halimbawa ng paggamit ng if-elsepahayag

Dahil na-explore natin if-elsenang mabuti ang pahayag, magbigay tayo ng halimbawa:

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
   }
}
Ipinapakita ang pinakamababang dalawang numero