1. Câu lệnh điều kiện if trong Java

Mệnh đề if được sử dụng để kiểm tra giá trị dạng boolean của điều kiện. Khối lệnh sau if được thực thi nếu giá trị của điều kiện là True

Câu lệnh if là câu lệnh ra quyết định đơn giản nhất. Nó được sử dụng để quyết định xem một câu lệnh hoặc một khối câu lệnh nào đó sẽ được thực thi hay không. Tức là nếu một điều kiện nhất định là đúng thì một khối câu lệnh được thực thi, ngược lại thì không.

Cú pháp :

if (điều kiên 1) {
    // hành động 1
}
// Lệnh kế tiếp

Chú ý nhỏ là if là chữ thường. Các chữ hoa If hoặc IF sẽ tạo ra lỗi. Cùng với đó  điều kiện là 1 biểu thức nào đó bao gồm các biểu thức toán học

Ví dụ: kiểm tra hai giá trị để tìm xem 20 có lớn hơn 18. Nếu điều kiện là true thì sẽ in một văn bản:

class Main {
  public static void main(String[] args) {
    if (20 > 18) {
      System.out.println("20 lớn hơn 18"); 
    }  
  }
}

Kết quả

20 lớn hơn 18

Cũng với bài toán trên ta có thể dùng cách kiểm tra các biến

class Main {
  public static void main(String[] args) {
    int x = 20;
    int y = 18;
    if (x > y) {
      System.out.println("x lớn hơn y");
    }  
  }
}

Kết quả

x lớn hơn y

Giải thích qua một chút về cách thức hoạt động của if. Đầu tiên trình biên dịch sẽ kiểm tra biểu thức điều kiện bên trong if . Nếu biểu thức điều kiện đó trả về kết quả là đúng (true) thì hành động tương ứng nằm bên trong khối lệnh sẽ được thực hiện, còn nếu biểu thức điều kiện đó trả về kết quả là sai (false) thì sẽ kết thúc câu lệnh điều khiển và một số câu lệnh khác sẽ được thi hành.

2. Câu lệnh điều kiện if else trong Java

Chỉ riêng câu lệnh if cho chúng ta biết rằng nếu một điều kiện là đúng, nó sẽ thực thi một khối câu lệnh. Nhưng nếu điều kiện sai thì nó sẽ không. Vậy chúng ta muốn làm điều gì đó khác nếu điều kiện sai  thì sao? Lúc này ta sẽ sử dụng đến if else.

Tất cả cách thức hoạt động cũng giống như if vậy chỉ khác là khi điều của if trả về false thì nó sẽ nhảy vào và thực thi else.

Cú pháp :

if (điều kiên 1) {
    // hành động 1
} else {
    // hành động 2
}
// Lệnh kế tiếp

Ví dụ:

class Main {
  public static void main(String[] args) {
    int time = 20;
    if (time < 18) {
      System.out.println("Good day.");
    } else {
      System.out.println("Good evening.");
    }  
  }
}

Kết quả : Good evening.

Giải thích qua một chút về cách thức hoạt động nhé. Nó cũng giống như cách thức hoạt động của if thôi. Chỉ có điều lúc này việc thực hiện của chương trình sẽ rẽ thành hai nhánh tùy theo kết quả của biểu thức điều kiện. Nếu biểu thức điều kiện trả về kết quả đúng thì các lệnh trong khối lệnh của lệnh if được thực hiện; ngược lại thì những lệnh trong khối lệnh của lệnh else được thực hiện.

3. Câu lệnh điều kiện else if trong Java

Sử dụng câu lệnh else if để chỉ định một điều kiện mới nếu điều kiện đầu tiên là false . Còn cách thức hoạt động của nó cũng tương tự như là if else vậy

Cú pháp :

if (điều kiện 1) {
  
} else if (điều kiện 2) {
  
} else {
  
}

Ví dụ:

class Main {
  public static void main(String[] args) {
    int time = 22;
    if (time < 10) {
      System.out.println("Good morning.");
    } else if (time < 20) {
      System.out.println("Good day.");
    }  else {
      System.out.println("Good evening.");
    }
  }
}

Kết quả

Good evening

4. Câu lệnh điều kiện if else lồng nhau trong Java

Trong nhiều trường hợp, bạn muốn thực hiện nhiều điều kiện lồng nhau trong chương trình thì bạn hoàn toàn có thể. Số lượng cấp lồng nhau là vô hạn, nhưng bạn không nên lồng quá nhiều điều kiện vì như thế code sẽ rất khó đọc và bảo trì sau này.

Một if lồng nhau là một câu lệnh if là mục tiêu của if hoặc else khác. Các câu lệnh if lồng nhau có nghĩa là một câu lệnh if bên trong một câu lệnh if. Java cho phép chúng ta lồng các câu lệnh if vào trong các câu lệnh if . tức là, chúng ta có thể đặt một câu lệnh if bên trong một câu lệnh if khác.

Cú pháp :

if (điều kiện 1) {
// Nếu điều kiện 1 trả về kết quả đúng thì điều kiện 2 trong if bên dưới sẽ được kiểm tra
if (điều kiện 2) {
// Nếu điều kiện 2 trả về kết quả đúng thì hành động trong if sẽ được thực hiện
} else {
// Nếu điều kiện 2 trả về kết quả sai thì hành động trong else sẽ được thực hiện
}
} else {
// Nếu điều kiện 1 trả về kết quả sai thì hành động trong else này sẽ được thực hiện 
}

Ví dụ:

import java.util.Scanner;

class Main{

 public static void main(String[] args) {
  int firstNumber, secondNumber, thirdNumber, largestNumber;
  Scanner scanner = new Scanner(System.in);

  System.out.println("Nhập vào số thứ nhất: ");
  firstNumber = scanner.nextInt();
  System.out.println("Nhập vào số thứ hai: ");
  secondNumber = scanner.nextInt();
  System.out.println("Nhập vào số thứ ba: ");
  thirdNumber = scanner.nextInt();

  if (firstNumber >= secondNumber) {
  if (firstNumber >= thirdNumber) {
  largestNumber = firstNumber;
  } else {
  largestNumber = thirdNumber;
  }
  } else if (secondNumber >= thirdNumber) {
  largestNumber = secondNumber;
  } else {
  largestNumber = thirdNumber;
  }

  System.out.println("Số lớn nhất trong 3 số " + firstNumber + ", " + secondNumber + 
                        " và " + thirdNumber + " là " + largestNumber);
 }

}

Kết quả:

Nhập số thứ nhất
14
Nhập số thứ hai
6
Nhập số thứ ba
20
Số lớn nhất trong ba số 14, 6, 20 là 20

Cách thức hoạt động của nó như sau:

  • Biểu thức if ( firstNumber >= secondNumber) so sánh số 9 nhỏ hơn 20 nên trả về kết quả là sai nên các câu lệnh tiếp theo trong khối lệnh if này sẽ không được thực thi.
  • Biểu thức else if (secondNumber >= thirdNumber) sẽ so sánh số 20 và 2 thì thấy 20 lớn hơn 2 nên trình biên dịch sẽ gán giá trị 20 cho biến largestNumber.
  • Hiển thị giá trị của biến largestNumber ra màn hình. Quá trình biên dịch kết thúc.

5. Cấu trúc toán tử điều kiện 3 ngôi trong Java

Toán tử điều kiện 3 ngôi là cấu trúc thay thế của biểu thức điều kiện if else trong Java. Nó được gọi là toán tử bậc ba vì nó bao gồm ba toán hạng. Ta có thể sử dụng để thay thế nhiều dòng mã bằng một dòng duy nhất và thường được sử dụng để thay thế các câu lệnh if else đơn giản:

Cú pháp : [Biểu thức điều kiện] ? [Giá trị 1] : [Giá trị 2];

Ví dụ:

Viết đầy đủ

class Main {
  public static void main(String[] args) {
    int time = 20;
    if (time < 18) {
      System.out.println("Good day.");
    } else {
      System.out.println("Good evening.");
    }  
  }
}

Viết ngắn gọn

class Main {
  public static void main(String[] args) {   
    int time = 20;
    String result;
    result = (time < 18) ? "Good day." : "Good evening.";
    System.out.println(result);
  }
}

Toán tử điều kiện 3 ngôi sẽ kiểm tra giá trị của biểu thức điều kiện, nếu biểu thức này trả về giá trị đúng thì biểu thức giá trị 1 được tính toán và trở thành giá trị của biểu thức, nếu biểu thức điều kiện trả về giá trị sai thì biểu thức giá trị 1 được tính toán và trở thành giá trị của biểu thức.