1. Trình tự ifcác câu lệnh

Đôi khi một chương trình cần thực hiện nhiều hành động khác nhau tùy thuộc vào giá trị của một biến hoặc giá trị của một biểu thức.

Giả sử nhiệm vụ của chúng ta là như thế này:

  • Nếu nhiệt độ lớn hơn 20độ thì hãy mặc thêm áo
  • Nếu nhiệt độ lớn hơn 10độ và nhỏ hơn (hoặc bằng) 20, thì hãy mặc áo len
  • Nếu nhiệt độ lớn hơn 0độ và nhỏ hơn (hoặc bằng) 10thì mặc áo mưa
  • Nếu nhiệt độ thấp hơn 0độ, hãy mặc áo khoác.

Đây là cách điều này có thể được thể hiện trong mã:

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-elsecác câu lệnh có thể được lồng vào nhau . Điều này làm cho nó có thể thực hiện logic khá phức tạp trong một chương trình.

Tuy nhiên, các lập trình viên thường viết cấu trúc này hơi khác một chút:

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

Hai ví dụ được đưa ra là tương đương, nhưng ví dụ thứ hai dễ hiểu hơn.


2. Sắc thái của elsekhối

Một điểm quan trọng:

Nếu không sử dụng dấu ngoặc nhọn trong một if-elsecấu trúc, thì elsetham chiếu đến giá trị gần nhất trước đó if.

Ví dụ:

mã của chúng tôi Nó sẽ làm việc như thế nào
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");
}

Nếu bạn nhìn vào đoạn mã bên trái, có vẻ như đầu ra màn hình sẽ là "Bạn không phải làm việc". Nhưng đó không phải là trường hợp. Trên thực tế, lệnh elsecấm và câu lệnh "Bạn không cần phải làm việc" được liên kết với ifcâu lệnh thứ hai (càng gần).

Trong đoạn mã bên phải, liên kết ifelseđược đánh dấu màu đỏ. Ngoài ra, các dấu ngoặc nhọn được đặt rõ ràng, hiển thị rõ ràng những hành động sẽ được thực hiện. Chuỗi Bạn không phải làm việc không bao giờ được hiển thị khi agelớn hơn 60.


4
Nhiệm vụ
Java Syntax,  mức độbài học
Đã khóa
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. Ví dụ về sử dụng if-elsecâu lệnh

Vì chúng tôi đã khám phá if-elsetuyên bố rất tốt, hãy đưa ra một ví dụ:

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
   }
}
Hiển thị tối thiểu hai số