Java: Ternary Operator trong 5 Phút
Toán tử ternary (phiên âm /tơ-na-ri/) hay ternary operator là toán tử được sử dụng rất phổ biến trong khi lập trình. Nếu bạn chưa biết toán tử này là gì thì nó đơn giản chỉ là cách viết ngắn gọn thay thế cho việc sử dụng câu lệnh if..else. Trong bài viết này chúng ta sẽ tìm hiểu về cú pháp của toán ...
Toán tử ternary (phiên âm /tơ-na-ri/) hay ternary operator là toán tử được sử dụng rất phổ biến trong khi lập trình. Nếu bạn chưa biết toán tử này là gì thì nó đơn giản chỉ là cách viết ngắn gọn thay thế cho việc sử dụng câu lệnh if..else. Trong bài viết này chúng ta sẽ tìm hiểu về cú pháp của toán tử ternary cũng như cách sử dụng nó trong ngôn ngữ Java thông qua các ví dụ cụ thể.
Cú Pháp Ternary Operator
Như đã nói ở trên ternary operator là cú pháp ngắn gọn (syntactic sugar) để thay cho câu lệnh if...else. Cú pháp của toán tử ternary như sau:
condition ? expression_if_condition_is_False : expression_if_condition_is_True
Trong đó:
- condition là biểu thức điều kiện.
- expression_if_condition_is_False là biểu thức sẽ được chạy nếu như giá trị trả về của biểu thức condition là True.
- expression_if_condition_is_False là biểu thức sẽ được chạy nếu như giá trị trả về của biểu thức condition là False
Ví Dụ Về Ternary Operator
Một ví dụ sử dụng cú pháp toán tử ternary trong Java như sau:
public static String helloMessage(String name) String { String username, message; username = "Java" return "Hello " + (username != "" ? username : "Guest"); }
Ở dòng thứ 3 trong đoạn code trên thì giá trị trả về của method helloMessage phụ thuộc vào việc biến username có giá trị khác một chuỗi trống hay không, và lúc này thay vì phải viết như sau:
if (username != "") { return "Hello " + username; } else { return "Hello " + "Guest"; }
Thì sử dụng toán tử ternary chúng ta viết gọn lại thành:
return "Hello " + (username != "" ? username : "Guest");
Tương tự một ví khác cũng rất phổ biến để lấy ra số lớn hơn trong hai số sử dụng toán tử ternary như sau:
int a = 3; int b = 6; int maxNumber; int maxNumber = (a > b) ? a : b;
Ở dòng thứ 3 trong đoạn code trên nếu sử dụng if..else thì chúng ta sẽ viết như sau:
if (a > b) { maxNumber = a; } else { maxNumber = b; }
Kết Luận
Như bạn có thể thấy cú pháp của toán tử ternary khá ngắn gọn hơn so với sử dụng cú pháp if..else truyền thống. Trong lập trình thông thường chúng ta muốn source code ngắn gọn và đồng thời dễ hiểu hơn. Với các ứng dụng thực tế thì các câu lệnh if..else thường sẽ được dùng rất nhiều, do đó nếu sử dụng cú pháp của toán tử ternary một cách hợp lý sẽ giảm số lượng dòng code trong chương trình một cách đáng kể.