Operator
Duy Văn | 06/03/2025
Trong Java, operators dùng để thực hiện các thao tác trên các biến và giá trị. Ví dụ, operator + được dùng để cộng hai giá trị, đồng thời cũng có thể dùng để cộng một biến đã gán giá trị với một giá trị hoặc biến với biến:
int x = 1 + 1;
int y = 1 + x;
int z = x + y;
Một điểm cần lưu ý là các operators sẽ có thao tác khác nhau tuỳ theo dạng data type mà nó đang được áp dụng
Arithmetic Operators
Arithmetic nghĩa là toán, các operators liên quan đến toán học thì được hiểu mặc định là khi áp dụng với các data type dạng số (xem ở bài Data Type)
| Operators | Tên | Mô tả | Ví dụ |
+ | Cộng | Cộng hai giá trị | x + y |
- | Trừ | Trừ giá trị bên phải khỏi giá trị bên trái | x - y |
* | Nhân | Nhân hai giá trị | x * y |
/ | Chia | Chia giá trị bên trái cho giá trị bên phải | x / y |
% | Modulo | Lấy phần dư của phép chia | x % y |
++ | Tăng | Tăng giá trị của biến lên một đơn vị | x++ |
-- | Giảm | Giảm giá trị của biến đi một đơn vị | x-- |
Assignment Operators
Assignment nghĩa là gán, nó là operator sinh ra để gán giá trị cho các biến, cơ bản nhất là =, nó gán giá trị bên phải cho biến bên trái
int x = 10;
Ngoài ra, nó có thể được kết hợp với các operators thuộc phần toán để vừa thực hiện phép toán vừa gán giá trị, ví dụ như
int x = 10;
x += 5; // x = x + 5
| Operator | Mô tả | Ví dụ | Tương đương | |
= | Gán | Gán giá trị bên phải cho biến bên trái | x = y | |
+= | Cộng và gán | Cộng giá trị bên phải vào giá trị của biến bên trái | x += y | x = x + y |
-= | Trừ và gán | Trừ giá trị bên phải khỏi giá trị của biến bên trái | x -= y | x = x - y |
*= | Nhân và gán | Nhân giá trị bên phải với giá trị của biến bên trái | x *= y | x = x * y |
/= | Chia và gán | Chia giá trị của biến bên trái cho giá trị bên phải | x /= y | x = x / y |
%= | Modulo và gán | Lấy phần dư của phép chia và gán cho biến bên trái | x %= y | x = x % y |
&= | Bitwise AND và gán | Thực hiện phép AND giữa giá trị của biến bên trái và bên phải, sau đó gán kết quả cho biến bên trái | x &= y | x = x & y |
|= | Bitwise OR và gán | Thực hiện phép OR giữa giá trị của biến bên trái và bên phải, sau đó gán kết quả cho biến bên trái | x |= y | x = x | y |
^= | Bitwise XOR và gán | Thực hiện phép XOR giữa giá trị của biến bên trái và bên phải, sau đó gán kết quả cho biến bên trái | x ^= y | x = x ^ y |
<<= | Bitwise Shift Left và gán | Dịch trái giá trị của biến bên trái bằng số bit của biến bên phải, sau đó gán kết quả cho biến bên trái | x <<= y | x = x << y |
>>= | Bitwise Shift Right và gán | Dịch phải giá trị của biến bên trái bằng số bit của biến bên phải, sau đó gán kết quả cho biến bên trái | x >>= y | x = x >> y |
Comparison Operators
Comparison nghĩa là để so sánh, khi sử dụng với các giá trị hoặc biến mang giá trị thuộc kiểu dữ liệu số, nó có nghĩa là so sánh giá trị của các số với nhau, và kết quả của operator này là một boolean, ví dụ:
int x = 5;
iny y = 10;
System.out.println(x > y); // False
| Operator | Tên | Mô tả | Ví dụ |
== | Bằng | So sánh xem hai giá trị có bằng nhau không | x == y |
!= | Không bằng | So sánh xem hai giá trị có khác nhau không | x != y |
> | Lớn hơn | So sánh xem giá trị bên trái có lớn hơn giá trị bên phải không | x > y |
< | Nhỏ hơn | So sánh xem giá trị bên trái có nhỏ hơn giá trị bên phải không | x < y |
>= | Lớn hơn hoặc bằng | So sánh xem giá trị bên trái có lớn hơn hoặc bằng giá trị bên phải không | x >= y |
<= | Nhỏ hơn hoặc bằng | So sánh xem giá trị bên trái có nhỏ hơn hoặc bằng giá trị bên phải không | x <= y |
Logical Operators
Ở phía Java, các logical operators là để cấu thành nên một boolean statement từ các boolean riêng lẻ, cú pháp của Java sẽ khác bên Python
| Operator | Tên | Mô tả | Ví dụ | Tương đương phía Python |
&& | AND | Trả về true nếu cả hai boolean đều true | x > 0 && x < 10 | x > 0 and x < 10 |
|| | OR | Trả về true nếu ít nhất một trong hai boolean là true | x < 4 || x >10 | x < 4 or x > 10 |
! | NOT | Trả về true nếu boolean đang xét là false và ngược lại | !x, !(x < 5 && x >2) | not (x < 5 and x > 2) |