Tóm Tắt
Phép gán
Cú pháp :
[Bi
Bạn đang đọc: Các toán tử trong Java
ến] = [BiểuThức];
Phép gán được thực hiện bằng toán tử =
, nó có nghĩa là hãy tính toán giá trị biểu thức bên phải dấu gán, sau đó đưa giá trị đó vào ô nhớ có tên nằm ở bên trái dấu gán
- Câu lệnh gán gồm một dấu `=`
- Kiểu của biểu thức bên phải dấu gán phải tương thích với kiểu dữ liệu của biến
- Trong java ta có thể thực hiện một dẫy gán.
int a = 10;
int b = c = 10;
Toán tử toán học
Ngôn ngữ java cũng có các phép toán số học được sử dụng trong các biểu thức toán học như trong đại số: +
(phép cộng), -
(phép trừ), *
(phép nhân), /
(phép chia), %
(phép toán chia lấy phần nguyên)
Ta diễn đạt tóm tắt những phép toán số học qua bảng tổng kết sau :
Phép toán | Sử dụng | Mô tả |
---|---|---|
+ | op1 + op2 | Cộng op1 vớiop2 |
– | op1 – op2 | Trừ op1 cho op2 |
* | op1 * op2 | Nhân op1 với op2 |
/ | op1/ op2 | chia op1 cho op2 |
% | op1 % op2 | Tính phần dư của phép chia op1 cho op2 |
Toán tử tăng, giảm
Java cũng có phép toán tăng, giảm, ta hoàn toàn có thể diễn đạt tóm tắt qua những bằng sau :
Phép toán | Sử dụng | Mô tả |
---|---|---|
++ | op++ | Tăng op lên 1 đơn vị, giá trị của op được tăng lên trước khi biểu thức chứa nó được tính |
++ | ++op | Tăng op lên 1 đơn vị, giá trị của op được tăng lên sau khi biểu thức chứa nó được tính |
— | op– | Giảm op xuống1 đơn vị, giá trị của op được giảm xuống trước khi biểu thức chứa nó được tính |
— | –op | Giảm op xuống1 đơn vị, giá trị của op được giảm xuống sau khi biểu thức chứa nó được tính |
Qua đây tất cả chúng ta cũng hiểu được sự khác nhau của a + + ( a — ) và + + a ( — a )
public class Thaycacac {
public static void main(String[] args) {
int a = 1;
System.out.println(a+ +);
System.out.println(+ +a);
System.out.println(a+ ++1);
System.out.println(+ +a+1);
}
}
1
3
4
6
Nếu toán tử tăng trước, tăng sau ( giảm trước, giảm sau ) đứng một mình ( không nằm trong biểu thức ) thì chúng hoạt động giải trí như nhau, chúng chỉ khác nhau khi chúng nằm trong biểu thức
Phép toán quan hệ
Phép toán quan hệ bao giờ cũng cho kết quả boolean, phép toán quan hệ sẽ so sánh 2 giá trị, nó xác định mối quan hệ giữa chúng, ví dụ !=
sẽ trả về true nếu 2 toán hạng là khác nhau.
Ta tóm tắt những phép toán qua bảng sau :
Phép toán | Sử dụng | Nhận về giá trị true khi |
---|---|---|
> | op1 > op2 | op1 lớn hơn op2 |
>= | op1 >= op2 | op1 lớn hơn hoặc bằng op2 |
< | op1 < op2 | op1 nhỏ hơn op2 |
<= | op1 <= op2 | op1 nhỏ hơn hoặc bằng op2 |
== | op1 == op2 | op1 bằng op2 |
!= | op1! = op2 | op1 khác op2 |
Ví dụ sử dụng những phép toán quan hệ
public class Thaycacac {
public static void main(String[] args) {
int i = 37;
int j = 42;
int k = 42;
System.out.println(" Hiển thị những số ... ");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" k = " + k);
System.out.println(" Kiểm tra lớn hơn ... ");
System.out.println(" i > j = " + (i > j));
System.out.println(" j > i = " + (j > i));
System.out.println(" k > j = " + (k > j));
System.out.println(" Kiểm tra lớn hơn hoặc bằng ... ");
System.out.
println(" i > = j = " + (i > = j));
System.out.println(" j > = i = " + (j > = i));
System.out.println(" k > = j = " + (k > = j));
System.out.println(" Kiểm tra nhỏ hơn ... ");
System.out.println(" i < j = " + (i < j));
System.out.println(" j < i = " + (j < i));
System.out.println(" k < j = " + (k < j));
System.out.println(" Kiểm tra nhỏ hơn hoặc bằng ... ");
System.out.println(" i < = j = " + (i < = j));
System.out.println(" j < = i = " + (j < = i));
System.out.println(" k < = j = " + (k < = j));
System.out.println(" Kiểm tra bằng ... ");
System.out.println(" i = = j = " + (i = = j));
System.out.println(" k = = j = " + (k = = j));
System.out.println(" Kiểm tra không bằng ... ");
System.out.println(" i ! = j = " + (i ! = j));
System.out.println(" k ! = j = " + (k ! = j));
}
}
Hiển thị các số...
i = 37
j = 42
k = 42
Kiểm tra lớn hơn...
i > j = false
j > i = true
k > j = false
Kiểm tra lớn hơn hoặc bằng...
i >= j = false
j >= i = true
k >= j = true
Kiểm tra nhỏ hơn...
i < j = true
j < i = false
k < j = false
Kiểm tra nhỏ hơn hoặc bằng...
i <= j = true
j <= i = false
k <= j = true
Kiểm tra bằng...
i == j = false
k == j = true
Kiểm tra không bằng...
i! = j = true
k! = j = false
Phép toán logic
Java tương hỗ 6 phép toán logic được chỉ ra trong bảng sau :
Phép toán | Sử dụng | Nhận về giá trị true khi |
---|---|---|
&& | op1 && op2 | Cả op1 và op2 đều là true, giá trị của op2 chỉ được tính khi op1 là true |
|| | op1 || op2 | Hoặc op1 hoặc op2 là true, giá trị của op2 chỉ được tính khi op1 là false |
! | !op | op là false |
& | op1 & op2 | Cả op1 và op2 đều là true, giá trị của op2 luôn được tính kể cả khi op1 là false |
| | op1 | op2 | Hoặc op1 hoặc op2 là true, giá trị của op2 luôn luôn được tính kể cả khi op1 là true |
^ | op1 ^ op2 | Nếu op1 khác op2 |
- Phép toán && ( & ) chỉ nhận giá trị true khi và chỉ khi cả hai toán hạng đều là true
- Phép toán || ( | ) chỉ nhận giá trị false khi và chỉ khi cả hai toán hạng là false
- Phép toán ^ chỉ nhận giá trị true khi và chỉ khi hai toán hạng khác nhau
Phép toán thao tác trên bit
Phép toán dịch bit
Phép toán | Sử dụng | Kết quả |
---|---|---|
>> | op1 >> op2 | Dịch chuyển op1 sang phải op2 bit, op2 bit phía bên phải sẽ được điền bằng các bít 0 |
<< | op1 << op2 | Dịch chuyển op1 sang trái op2 bit(giữ nguyên dấu của op1), op2 bit nằm bên trái sẽ được điền bằng các bít 0 |
>>> | op1>>> op2 | Dịch chuyển op1 sang phải op2 bit, op2 bit |
Sau đây là hình minh hoạ phép toán dịch bít
13>>1=6
vì13=11012
do vậy khi dịch phải một bit ta sẽ được1102=6
5<<1=10
vì5=1012
do vậy khi dịch trái 1 bit ta sẽ được10102=10
5<<2=100
vì5=1012
do vậy khi dịch trái 2 bit ta sẽ được101002=100
Phép toán dịch trái một bit chính là phép nhân với 2, còn dịch phải chính là phép chia cho 2
Phép toán logic trên bit
Các phép toán thao tác bit được cho phép ta thao tác trên từng bit riêng không liên quan gì đến nhau trong một kiểu tài liệu thích hợp, những phép toán thao tác bit thực thi đại số boolean trên những bit tương ứng của 2 toán hạng để tạo ra tác dụng .
Ta tóm tắt những phép toán trong bảng sau :
Phép toán | Sử dụng | Thực hiện |
---|---|---|
& | op1 & op2 | Thực hiện phép and các bit tương ứng của op1 với op2 |
| | op1 | op2 | Thực hiện phép or các bit tương ứng của op1 với op2 |
^ | op1 ^ op2 | Thực hiện phép xor các bit tương ứng của op1 với op2 |
~ | ~op2 | Thực hiện phép lật các bit của op2 |
Bảng giá trị chân lý của những phép toán đái số boolean :
Phép AND
op1 | op2 | Result |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Phép OR
op1 | op2 | Result |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Phép XOR
op1 | op2 | Result |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Phép NOT
op1 | Result |
---|---|
0 | 1 |
1 | 0 |
Toán tử gán tắt
Ngoài ra Java cũng có toán tử gán tắt, ta tóm tắt các toán tử gán qua bảng sau:
Phép gán | Sử dụng | Tương đương |
---|---|---|
+= | op1 += op2 | op1 = op1 + op2 |
-= | op1 -= op2 | op1 = op1 - op2 |
*= | op1 *= op2 | op1 = op1 * op2 |
/= | op1/ = op2 | op1 = op1/ op2 |
%= | op1 %= op2 | op1 = op1 % op2 |
&= | op1 &= op2 | op1 = op1 & op2 |
|= | op1 |= op2 | op1 = op1 | op2 |
^= | op1 ^= op2 | op1 = op1 ^ op2 |
<<= | op1 <<= op2 | op1 = op1 << op2 |
>>= | op1 >>= op2 | op1 = op1 >> op2 |
>>>= | op1 >>>= op2 | op1 = op1 >>> op2 |
Thứ tự ưu tiên của các phép toán
Thứ tự ưu tiên của những phép toán xác lập trình tự giám sát giá trị của một biểu thức, java có những quy tắc riêng để xác lập trình tự đo lường và thống kê của biểu thức, ta phải nhớ quy tắc sau :
- Các phép toán một ngôi bao giờ cũng được thực hiện trước tiên
- Trong một biểu thức có nhiều phép toán thì phép toán nào có độ ưu tiên cao hơn sẽ được thực hiện trước phép toán có độ ưu tiên thấp
- Trong một biểu thức có nhiều phép toán có độ ưu tiên ngang nhau thì chúng sẽ được tính theo trình tự từ trái qua phải
Ta có bảng tóm tắt thứ tự ưu tiên của những phép toán trong bảng sau :
Kiểu | Thứ tự ưu tiên |
---|---|
postfix operators | []. (params) expr++ expr-- |
unary operators | ++expr --expr +expr -expr ~! |
creation or cast | new (type)expr |
multiplicative | _/ % |
additive | + - |
shift | << >> >>> |
relational | < > <= >= instanceof |
equality | ==! = |
Bitwise AND | & |
Bitwise exclusive OR | ^ |
Bitwise inclusive OR | | |
Logical AND | && |
Logical OR | || |
Conditional | ?: |
Assignment | = += -= _=/ = %= &= ^= |= <<= >>= >>>= |
Trong bảng trên thứ tự ưu tiên của những phép toán được giảm từ trên xuống dưới, trên cùng một hàng thì chúng có độ ưu tiên ngang nhau .
Source: https://final-blade.com
Category: Kiến thức Internet