Trong bài viết này, bạn sẽ tìm hiểu về các loại toán tử khác nhau trong ngôn ngữ lập trình JavaToán tử là các ký hiệu đặc biệt (ký tự) thực hiện các phép toán với các số hạng (biến và giá trị).
1. Toán tử số học
Toán tử số học được dùng trong các biểu thức toán học. Chúng ta có danh sách các toán tử số học
Toán tử
Ý nghĩa
+
Toán tử cộng (cũng được sử dụng để nối chuỗi)
–
Toán tử trừ
*
Toán tử nhân
/
Toán tử chia
%
Toán tử lấy phần dư
class ArithmeticOperator {
public static void main(String[] args) {
double number1 = 12.5, number2 = 3.5, result;
// Using addition operator
result = number1 + number2;
System.out.println("number1 + number2 = " + result);
// Using subtraction operator
result = number1 - number2;
System.out.println("number1 - number2 = " + result);
// Using multiplication operator
result = number1 * number2;
System.out.println("number1 * number2 = " + result);
// Using division operator
result = number1 / number2;
System.out.println("number1 / number2 = " + result);
// Using remainder operator
result = number1 % number2;
System.out.println("number1 % number2 = " + result);
}
}
Toán tử + cũng có thể được sử dụng để nối hai hay nhiều chuỗi.
class ArithmeticOperator {
public static void main(String[] args) {
String start, middle, end, result;
start = "Talk is cheap. ";
middle = "Show me the code. ";
end = "- Linus Torvalds";
result = start + middle + end;
System.out.println(result);
}
}
Khi bạn chạy chương trình, kết quả sẽ là:
Talk is cheap. Show me the code. – Linus Torvalds
2. Toán tử Tăng và Giảm giá trị
The ++ and – – là các toán tử Tăng và Giảm trong Java
Toán tử gia tăng (+): tăng giá trị lên 1
x = x + 1; or x++;
Toán tử giảm; giảm giá trị đi 1
x = x – 1; or x–;
public class IncrementDecrement {
public static void main(String args[]) {
int a = 1;
int b = 2;
int c;
int d;
c = ++b;
d = a++;
c++;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
}
}
a = 2 b = 3 c = 4 d = 1
3. Toán tử quan hệ
Các toán tử bằng và toán tử quan hệ xác định mối quan hệ giữa hai số hạng. Nó kiểm tra nếu một số hạng lớn hơn, nhỏ hơn, bằng, không bằng số hạng kia và v.v. Tùy thuộc vào mối quan hệ, nó cho một trong hai kết quả true hoặc false.
Toán tử
Mô tả
Thí dụ
==
bằng
5 == 3 được cho kết quả là false
! =
không bằng
5! = 3 cho kết quả là true
>
lớn hơn
5> 3 cho kết quả là true
<
bé hơn
5 <3 cho kết quả là false
> =
lớn hơn hoặc bằng
5> = 5 cho kết quả là true
<=
bé hơn hoặc bằng
5 <= 5 cho kết quả là true
public class Main {
public static void main(String[] args) {
int a = 10, b = 5;
boolean c;
c = a == b;
System.out.println("Ket qua phep (==): " + c);
c = a != b;
System.out.println("Ket qua phep (-): " + c);
c = a > b;
System.out.println("Ket qua phep (*): " + c);
c = a < b;
System.out.println("Ket qua phep (/): " + c);
c = a >= b;
System.out.println("Ket qua phep (%): " + c);
c = a <= b;
System.out.println("Ket qua phep (++): " + c);
}
}
Ket qua phep (==): false Ket qua phep (-): true Ket qua phep (*): true Ket qua phep (/): false Ket qua phep (%): true Ket qua phep (++): false
4. Toán tử logic
Các toán tử logic || (điều kiện-OR) và && (điều kiện-AND) thao tác với các biểu thức boolean. Dưới đây là cách chúng hoạt động.
Toán tử
Mô tả
Thí dụ
| |
điều kiện-OR; true nếu một trong các biểu thức boolean là true
false || true trả về kết quả là true
&&
có điều kiện-AND; true nếu tất cả các biểu thức boolean là true
false && true trả về kết quả false
class LogicalOperator {
public static void main(String[] args) {
int number1 = 1, number2 = 2, number3 = 9;
boolean result;
// At least one expression needs to be true for result to be true
result = (number1 > number2) || (number3 > number1);
// result will be true because (number1 > number2) is true
System.out.println(result);
// All expression must be true from result to be true
result = (number1 > number2) && (number3 > number1);
// result will be false because (number3 > number1) is false
System.out.println(result);
}
}
Khi bạn chạy chương trình, kết quả sẽ là:
true false
5. Toán tử Bitwise và Bit Shift
Để thực hiện các toán tử bitwise và bitshift trong Java, ta sử dụng các toán tử sau:
Toán tử
Mô tả
~
Phủ định NOT
<<
Dịch trái
>>
Dịch phải
>>>
Bỏ dịch phải
&
Toán tử AND
^
Toán tử exclusive OR
|
Toán tử OR
6. Các toán tử gán khác
Toán tử
Thí dụ
Tương đương với
+ =
x + = 5
x = x + 5
– = =
x – = 5
x = x – 5
* =
x * = 5
x = x * 5
/ =
x / = 5
x = x / 5
% =
x% = 5
x = x / 5
<< =
x << = 5
x = x << 5
>> =
x >> = 5
x = x >> 5
& =
x & = 5
x = x & 5
^ =
x ^ = 5
x = x ^ 5
| =
x | = 5
x = x | 5
public class Main {
public static void main(String[] args) {
int a = 10, b = 5;
int c;
c = a + b;
System.out.println("Ket qua phep (=): " + c);
a = 10; a += b;
System.out.println("Ket qua phep (+=): " + a);
a = 10; a -= b;
System.out.println("Ket qua phep (-=): " + a);
a = 10; a *= b;
System.out.println("Ket qua phep (*=): " + a);
a = 10; a /= b;
System.out.println("Ket qua phep (/=): " + a);
a = 10; a %= b;
System.out.println("Ket qua phep (%=): " + a);
a = 10; a <<= 2;
System.out.println("Ket qua phep (<<=): " + a);
a = 10; a >>= 2;
System.out.println("Ket qua phep (>>=): " + a);
a = 10; a >>>= 2;
System.out.println("Ket qua phep (>>>=): " + a);
a = 10; a &= b;
System.out.println("Ket qua phep (&=): " + a);
a = 10; a ^= b;
System.out.println("Ket qua phep (^=): " + a);
a = 10; a |= b;
System.out.println("Ket qua phep (|=): " + a);
}
}
Kết quả sau khi chạy chương trình:
Ket qua phep (=): 15 Ket qua phep (+=): 15 Ket qua phep (-=): 5 Ket qua phep (*=): 50 Ket qua phep (/=): 2 Ket qua phep (%=): 0 Ket qua phep (<<=): 40 Ket qua phep (>>=): 2 Ket qua phep (>>>=): 2 Ket qua phep (&=): 0 Ket qua phep (^=): 15 Ket qua phep (|=): 15