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.
Nhưng ví dụ trên cũng thú vị ở chỗ chúng ta có thể làm cho mã đơn giản hơn một chút bằng cách bỏ qua dấu ngoặc nhọn:
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");
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");
Cả ba ví dụ này đều tương đương nhau.
2. Sắc thái của elsekhối
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 |
|---|---|
|
|
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 ifvà elseđượ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. Có phải 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?
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
}
}
GO TO FULL VERSION