Cách Hoạt động Của Các Toán Tử Logic Trong Java - Deft Blog
Có thể bạn quan tâm
Mục lục
- 1 Cơ chế hoạt động
- 2 Áp dụng
Toán tử logic hầu là một trong những phần đầu tiên mà bất kỳ lập trình viên nào mới học lập trình đều đã học qua. Thế nhưng ẩn chứa bên trong nó vẫn còn khá nhiều điều thú vị mà chắc hẳn các bạn sẽ không ngờ đến.
Cơ chế hoạt động
Khi bạn kết hợp nhiều toán tử && hoặc || lại với nhau như thế này
A && B && C && DHoặc
A || B || C || DThì các toán tử logic ở trên sẽ thực hiện theo thứ tự từ trái sang phải và tuân theo quy tắc
- Trong loạt điều kiện && kết hợp nếu có một điều kiện false thì kết quả trả về false, các điều kiện còn lại phía bên phải sẽ không được thực hiện.
- Trong loạt điều kiện || nếu có một điều kiện trả về true thì kết quả trả về là true, các điều kiện còn lại phía bên phải sẽ không được thực hiện.
Chúng ta có 3 điều kiện
- student != null
- student.getScore() > 5
- student.getName().startsWith(“H”)
Với student mình đã khởi tạo ở trên, điều kiện (1) sẽ true, (2) false (score = 3), lúc này chương trình sẽ tiến hành trả về false mà không thực hiện tiếp tục (3).
Tương tự đối với ||, chúng ta xét ví dụ sauP
Kết quả trả về là true mặc cho student.getName().startsWith(“Z”) là một điều kiện false.
Áp dụng
Dựa vào tính chất ở phần trên mà chúng ta có thể viết các câu điều kiện ngắn gọn hơn một xíu nè.
Ví dụ mình có một hàm isPass() nhận tham số là Student, hàm này sẽ trả về true nếu score >= 5, false nếu ngược lại. Thế nhưng để chắc chắn thì mình sẽ phải kiểm tra thêm Student truyền vào phải khác null để tránh trường hợp xảy ta NullPointerException.
public boolean isPass(Student student) { if (student != null) { if (student.getScore() >=5) { return true; } } return false; }Code trên là ổn chúng ta phải kiểm tra khác null trước rồi mới kiểm tra score. Thế mình viết lại thế này các bạn đoán xem có sai không nhé.
public boolean isPass(Student student) { if (student != null && student.getScore() >= 5) { return true; } return false; }Mình đã gộp 2 điều kiện lại thành một trong nó có vẽ đẹp thế nhưng mà nó có bị nullPointer không nhỉ?
Trả lời: Không nhé, theo thứ tự nó sẽ kiểm tra student != null, nếu student có giá trị null thì hàm sẽ tiến hành trả về false mà không cần kiểm tra điều kiện student.getScore >= 5. Vậy nên chúng ta sẽ không ăn exception nullpointer đâu nhé.
Những điểm nhỏ này có thể giúp code chúng ta đẹp hơn xíu và giảm thiểu các điều kiện lồng rối mắt 😆
Từ khóa » Toán Tử Logic Java
-
Toán Tử Logic Trong Java - Hướng Dẫn Java - Huong Dan Java
-
Toán Tử Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
Toán Tử Trong Java
-
[Tự Học Java] Tìm Hiểu Các Toán Tử(Operator) Trong Java - Cafedev
-
Tìm Hiểu Các Loại Toán Tử Trong Java
-
Toán Tử Trong Java - Hoclaptrinh
-
Các Toán Tử Trong Java | How Kteam
-
Toán Tử Trong Java - GP Coder (Lập Trình Java)
-
Bài 14: Toán Tử LOGIC Trong Java | Tự Học Java | NIIT - ICT Hà Nội
-
Kiểu Boolean Toán Tử So Sánh Toán Tử Logic
-
Các Toán Tử Trong Java - Techacademy
-
Các Toán Tử (operators) Trong Java - Góc Học IT
-
Toán Tử 3 Ngôi Trong Java - KungFu Tech
-
Toán Tử Trong Lập Trình Java - Le Vu Nguyen
-
Toán Tử Logic Java
-
Toán Tử Trong Java - Toán Tử Số Học, Logic, Bitwise, Bậc ... - TutorialCup
-
Các Toán Tử Trong JAVA
-
Các Loại Toán Tử Trong Ngôn Ngữ Java - Lập Trình Không Khó