Toán tử (Operators) trong Java
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ử số học (Arithmetic Operators)
- Toán tử quan hệ (Relational Operators)
- Toán tử dịch bit (Bitwise Operators)
- Toán tử logic (Logical Operators)
- Toán tử gán (Assignment Operators)
- Toán tử khác (Misc Operators)
Toán tử số học (Arithmetic Operators)
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; |
Toán tử quan hệ (Relational Operators)
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ề |
|
Toán tử dịch bit (Bitwise Operators)
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 |
Toán tử luận lý (Logical Operators)
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 |
Toán tử gán (Assignment Operators)
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 |
Toán tử khác (Misc Operators)
Toán tử so sánh điều kiện (hay còn gọi là IF NGẮN)
- Sử dụng toán tử:
? :
- Cú pháp
variable x = (expression) ? value if true : value if false;
- Ví dụ:
String chaoHoi = (tuoi > 18) ? "Xin chào người lớn" : "Xin chào trẻ em";
Độ ưu tiên của các toán tử (Operators Precedence)
Độ ư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 |
Chương trình học
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
Bài học trước Bài học tiếp theo