Bài 14. Các Phép Toán So Sánh Và Logic Trong Java | Tự Học Java Căn Bản

Published on
Thuộc danh mục: Học Java Căn Bản|Đăng bởi: Lê Thanh Giang||7 min read
Facebook share iconLinkedIn share iconTwitter share iconPinterest share iconTumblr share icon
Bài 14. Các Phép Toán So Sánh Và Logic Trong Java | Tự Học Java Căn Bản

Trong lập trình Java, các phép toán so sánh và logic là công cụ quan trọng và không thể thiếu khi bạn muốn kiểm tra điều kiện và đưa ra quyết định trong quá trình thực thi chương trình. Bằng cách sử dụng các phép toán này, bạn có thể so sánh các giá trị, kết hợp các điều kiện và kiểm tra chúng để điều khiển luồng của chương trình. Dưới đây là một cái nhìn chi tiết hơn về các phép toán so sánh và logic trong Java.

Các Phép Toán So Sánh

Các phép toán so sánh trong Java được sử dụng để so sánh các giá trị và trả về một giá trị boolean (true hoặc false) dựa trên kết quả của phép so sánh. Các phép toán này là nền tảng để thực hiện các câu lệnh điều kiện, ví dụ như if, else if, hoặc các vòng lặp.

Sau đây là các phép toán so sánh cơ bản:

  • == (Bằng nhau): Kiểm tra xem hai giá trị có bằng nhau hay không. Phép toán này so sánh giá trị của hai đối tượng hoặc biến và trả về true nếu chúng bằng nhau, ngược lại trả về false.

    Ví dụ:

    int a = 5, b = 5;
    boolean result = a == b; // true, vì 5 == 5
    

    Lưu ý: Đối với các đối tượng (ví dụ như String), == kiểm tra xem hai đối tượng có tham chiếu tới cùng một bộ nhớ hay không, không phải nội dung bên trong. Để so sánh nội dung của các chuỗi, ta cần sử dụng phương thức .equals().

  • != (Khác nhau): Kiểm tra xem hai giá trị có khác nhau hay không. Nếu chúng khác nhau, kết quả sẽ là true, nếu không sẽ là false.

    Ví dụ:

    int a = 5, b = 10;
    boolean result = a != b; // true, vì 5 != 10
    
  • > (Lớn hơn): Kiểm tra xem giá trị bên trái có lớn hơn giá trị bên phải không. Nếu đúng, kết quả là true.

    Ví dụ:

    int a = 10, b = 5;
    boolean result = a > b; // true, vì 10 > 5
    
  • < (Nhỏ hơn): Kiểm tra xem giá trị bên trái có nhỏ hơn giá trị bên phải không.

    Ví dụ:

    int a = 5, b = 10;
    boolean result = a < b; // true, vì 5 < 10
    
  • >= (Lớn hơn hoặc bằng): Kiểm tra xem giá trị bên trái có lớn hơn hoặc bằng giá trị bên phải không. Kết quả trả về true nếu điều kiện thỏa mãn.

    Ví dụ:

    int a = 10, b = 10;
    boolean result = a >= b; // true, vì 10 >= 10
    
  • <= (Nhỏ hơn hoặc bằng): Kiểm tra xem giá trị bên trái có nhỏ hơn hoặc bằng giá trị bên phải không.

    Ví dụ:

    int a = 5, b = 10;
    boolean result = a <= b; // true, vì 5 <= 10
    

Các Phép Toán Logic

Các phép toán logic trong Java giúp kết hợp nhiều điều kiện và tạo thành các biểu thức logic phức tạp. Chúng trả về giá trị boolean (true hoặc false) dựa trên các phép toán này.

Sau đây là các phép toán logic cơ bản:

  • && (AND logic): Được sử dụng khi bạn muốn kiểm tra xem tất cả các điều kiện có đúng không. Phép toán này trả về true chỉ khi tất cả các điều kiện đều đúng.

    Ví dụ:

    int a = 5, b = 10;
    boolean result = (a > 0) && (b > 5); // true, vì cả hai điều kiện đều đúng
    

    Giải thích: Trong ví dụ trên, chúng ta kiểm tra nếu a lớn hơn 0 và b lớn hơn 5. Cả hai điều kiện đều đúng nên kết quả là true.

  • || (OR logic): Dùng để kiểm tra xem ít nhất một trong các điều kiện có đúng không. Phép toán này trả về true nếu ít nhất một trong các điều kiện là đúng.

    Ví dụ:

    int a = 5, b = 2;
    boolean result = (a > 0) || (b > 5); // true, vì a > 0 đúng
    

    Giải thích: Chỉ cần một trong các điều kiện là đúng, trong trường hợp này là a > 0, thì kết quả sẽ là true.

  • ! (NOT logic): Dùng để đảo ngược giá trị boolean. Nếu giá trị ban đầu là true, thì kết quả sẽ là false và ngược lại.

    Ví dụ:

    boolean isTrue = false;
    boolean result = !isTrue; // true, vì !false là true
    

    Giải thích: Trong ví dụ trên, vì isTruefalse, khi sử dụng !isTrue, giá trị trả về là true.

Cách Sử Dụng Các Phép Toán So Sánh và Logic

Các phép toán so sánh và logic được sử dụng rất phổ biến trong các câu lệnh điều kiện (if, else, switch,...) và các vòng lặp (for, while,...).

Ví dụ sử dụng trong câu lệnh if:

int a = 5, b = 10;
if (a > 0 && b > 5) {
    System.out.println("Cả a và b đều thỏa mãn điều kiện");
}

Giải thích: Trong ví dụ trên, chúng ta sử dụng phép toán && để kiểm tra nếu cả hai điều kiện (a > 0)(b > 5) đều đúng. Nếu cả hai điều kiện đúng, câu lệnh trong if sẽ được thực thi.

Ví dụ sử dụng trong câu lệnh else:

int a = 5, b = 10;
if (a > 0 || b < 5) {
    System.out.println("Ít nhất một điều kiện đúng");
} else {
    System.out.println("Cả hai điều kiện đều sai");
}

Giải thích: Phép toán || kiểm tra ít nhất một điều kiện có đúng hay không. Trong trường hợp này, a > 0 là đúng, vì vậy câu lệnh if sẽ được thực thi.

Ví dụ sử dụng phép toán !:

boolean isActive = false;
if (!isActive) {
    System.out.println("Đối tượng chưa được kích hoạt");
}

Giải thích: Phép toán ! đảo ngược giá trị boolean của isActive. Vì isActivefalse, sử dụng !isActive sẽ trả về true, và câu lệnh if sẽ được thực thi.

Lưu Ý Khi Sử Dụng Các Phép Toán So Sánh và Logic

  • Lưu ý khi sử dụng == với các đối tượng: Đối với kiểu dữ liệu nguyên thủy (primitive types) như int, float, double,... phép toán == sẽ so sánh giá trị trực tiếp. Tuy nhiên, với các đối tượng (như String, ArrayList...), == chỉ so sánh địa chỉ bộ nhớ, không phải giá trị bên trong. Để so sánh giá trị của các đối tượng, bạn nên sử dụng phương thức .equals().

  • Kết hợp các phép toán logic: Bạn có thể kết hợp nhiều phép toán logic trong một biểu thức, nhưng cần phải chú ý đến thứ tự ưu tiên của các phép toán để tránh kết quả sai. Phép toán &&|| có thứ tự ưu tiên thấp hơn so với phép toán so sánh (>, <, ==,...).

Kết luận

Các phép toán so sánh và logic trong Java là những công cụ cực kỳ mạnh mẽ giúp lập trình viên kiểm tra điều kiện và đưa ra quyết định trong quá trình lập trình. Việc hiểu rõ cách sử dụng chúng sẽ giúp bạn viết mã sạch, dễ hiểu và hiệu quả hơn. Đừng quên kết hợp chúng với các câu lệnh điều kiện và vòng lặp để làm cho chương trình của bạn trở nên linh hoạt và thông minh hơn!

Bài tiếp theo: Bài 15. Toán tử điều kiện trong Java

Bài viết mới nhất

Bài viết liên quan

Newsletter border

Đăng ký để nhận tin từ RiverLee