Toán tử (Operators) trong Java là các ký hiệu dùng để thực hiện các phép toán số học, hoặc phép so sánh, phép gán...
Toán tử (Operators) được chia làm các nhóm như sau:
Toán tử (Operator) | Diễn giải | Ví dụ |
---|---|---|
(Phép cộng - Addition) |
Cộng 2 vế trái và phải | 10 + 5 |
(Phép trừ - Subtraction) |
Trừ 2 vế trái và phải | 10 - 5 |
(Phép nhân - Multiplication) |
Nhân 2 vế trái và phải | 10 * 5 |
(Phép chia - Division) |
Chia 2 vế trái và phải, lấy phần nguyên. |
10 / 5 Được 2 |
(Phép chia lấy dư - Modulus) |
Chia 2 vế trái và phải, lấy phần dư. |
10 % 3 Được 3, dư 1 => kết quả trả về 1 |
(Phép tăng 1 đơn vị -Increment) |
Phép tăng 1 đơn vị. |
int a = 5; a++; Kết quả a = 6; |
(Phép giảm 1 đơn vị - Decrement) |
Phép giảm 1 đơn vị. |
int a = 5; a--; Kết quả a = 4; |
Operator | Description | Example |
---|---|---|
== (equal to) CÓ BẰNG NHAU KHÔNG? |
Kiểm tra vế trái có BẰNG vế phải hay không? Nếu đúng thì trả về |
|
!= (not equal to) CÓ KHÔNG BẰNG NHAU KHÔNG? |
Kiểm tra vế trái có BẰNG vế phải hay không? Nếu đúng thì trả về |
|
> (greater than) CÓ LỚN HƠN KHÔNG? |
Kiểm tra vế trái có BẰNG vế phải hay không? Nếu đúng thì trả về |
|
< (less than) CÓ NHỎ HƠN KHÔNG? |
Kiểm tra vế trái có BẰNG vế phải hay không? Nếu đúng thì trả về |
|
>= (greater than or equal to) CÓ LỚN HƠN HAY BẰNG NHAU KHÔNG? |
Kiểm tra vế trái có BẰNG vế phải hay không? Nếu đúng thì trả về |
|
<= (less than or equal to) CÓ NHỎ HƠN HAY BẰNG NHAU KHÔNG? |
Kiểm tra vế trái có BẰNG vế phải hay không? Nếu đúng thì trả về |
|
Cho ví dụ sau:
a = 0011 1100 // 60 dec b = 0000 1101 // 13 dec a&b = 0000 1100 // 12 dec a|b = 0011 1101 // 61 dec a^b = 0011 0001 // 49 dec ~a = 1100 0011 // -61 dec
Operator | Description | Example |
---|---|---|
& (bitwise and) | Phép AND bit |
|
| (bitwise or) | Phép OR bit |
|
^ (bitwise XOR) | Phep XOR bit |
|
⁓ (bitwise compliment) | Phép đảo bit |
|
<< (left shift) | Phép dịch bit sang trái |
|
>> (right shift) | Phép dịch bit sang phải |
|
>>> (zero fill right shift) | Phép dịch bit sang phải với zero fill operator | a >>> 2 = 1111 // 15 in decimal |
Operator | Description | Example |
---|---|---|
&& (phép and) PHÉP VÀ |
So sánh điều kiện A và B. Khi cả 2 điều kiện A và B cùng đúng thì trả về |
(A && B) is false |
|| (phép or) PHÉP HOẶC |
So sánh điều kiện A và B. Khi một trong các điều kiện A hoặc B đúng thì trả về |
(A || B) is true |
! (phép NOT) PHÉP PHỦ |
Trả về kết quả phủ định (ngược lại) với kết quả so sanh ban đầu | !(A && B) is true |
Operator | Description | Example |
---|---|---|
= | Gán giá trị của vế phải vào vế trái. | c = a + b |
+= | Tự tăng giá trị vế trái. | c += a <=> c = c + a |
-= | Tự giảm giá trị vế trái. | c -= a <=> c = c - a |
*= | Tự nhân giá trị của vế trái. | c *= a <=> c = c * a |
/= | Tự chia giá trị của vế trái. | c /= a <=> c = c / a |
%= | Tự chia lấy dư giá trị của vế trái. | c %= a <=> c = c % a |
<<= | Tự dịch bit sang trái giá trị của vế trái | c <<= a <=> c = c << a |
>>= | Tự dịch bit sang phải giá trị của vế trái | c >>= a <=> c = c >> a |
&= | Tự thực hiện phép AND bit giá trị của vế trái | c &= a <=> c = c & a |
^= | Tự thực hiện phép XOR bit giá trị của vế trái | c ^= a <=> c = c ^ a |
|= | Tự thực hiện phép OR bit giá trị của vế trái | c |= a <=> c = c | a |
? :
variable x = (expression) ? value if true : value if false;
String chaoHoi = (tuoi > 18) ? "Xin chào người lớn" : "Xin chào trẻ em";
Độ ưu tiên được xếp từ cao đến thấp trong bảng sau:
Category | Toán tử (Operator) |
Thứ tự thực hiện (Associativity) |
---|---|---|
Postfix | expression++ expression-- | Left to right |
Unary | ++expression --expression +expression -expression ⁓ ! | Right to left |
Multiplicative | * / % | Left to right |
Additive | + - | Left to right |
Shift | << >> >>> | Left to right |
Relational | < > <= >= instanceof | Left to right |
Equality | == != | Left to right |
Bitwise AND | & | Left to right |
Bitwise XOR | ^ | Left to right |
Bitwise OR | | | Left to right |
Logical AND | && | Left to right |
Logical OR | || | Left to right |
Conditional | ?: | Right to left |
Assignment | = += -= *= /= %= ^= |= <<= >>= >>>= | Right to left |
Cùng nhau học tập, khám phá các kiến thức nền tảng về Lập trình web, mobile, database nhé.
Nền tảng kiến thức - Hành trang tới tương lai hân hạnh phục vụ Quý khách!
Khám phá, trải nghiệm ngay
Vui lòng đăng nhập để gởi bình luận!
Đăng nhậpChưa có bình luận nào!