• 0162 7877 180
  • aiac.vn@outlook.com

Các toán tử trong Java

Các toán tử trong Java

Các phép toàn trong java cũng như trong toán học, nhưng có đặc điểm đặc biệt là các phép toán đã được ký hiệu khác với bộ quy tắc riêng.

Toán tử số học:

Giả sử biến A được gán giá trị là 10,

Giả sử biến B được gán giá trị là 5,

Ký hiệu Mô tả Thí dụ
+ (Cộng) Cộng giá trị ở hai bên của toán tử. A + B sẽ cho 15
- (Trừ) Trừ toán hạng bên phải từ toán hạng bên trái. A - B sẽ cho 5
* (Nhân) Nhân trên cả hai phía của toán tử. A * B sẽ cho 50
/ (Chia lấy phần nguyên) Chia toán hạng bên trái cho toán hạng bên phải lấy phần nguyên. A / B sẽ cho 2
% (Phép chia lấy số dư) Chia toán hạng bên trái cho toán hạng bên phải và trả về phần dư lại.

A%B sẽ cho 0

hoặc 10%4 sẽ cho 2 

++ (Cộng thêm 1) Tăng giá trị của toán hạng lên 1. A++ cho 11
-- (Phép trừ) Giảm giá trị của toán hạng xuống 1. B-- cho 4

 

Các phép toán so sánh:

Giả sử biến A được gán giá trị là 10,

Giả sử biến B được gán giá trị là 5,

Nhà điều hành Sự miêu tả Thí dụ
== (bằng) Kiểm tra xem các giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true. (A == B) là sai.
!= (không bằng) Kiểm tra xem các giá trị của hai toán hạng có bằng nhau hay không, nếu các giá trị không bằng nhau thì điều kiện trở thành true. (A != B) là đúng.
> (lớn hơn) Kiểm tra nếu giá trị của toán hạng bên trái lớn hơn giá trị của toán hạng bên phải, nếu có thì điều kiện trở thành true. (B> A) là sai.
<(nhỏ hơn) Kiểm tra nếu giá trị của toán hạng bên trái nhỏ hơn giá trị của toán hạng bên phải, nếu đúng thì điều kiện trở thành true. (B <A) là đúng.
>= (lớn hơn hoặc bằng) Kiểm tra nếu giá trị của toán hạng bên trái lớn hơn hoặc bằng giá trị của toán hạng bên phải, nếu đúng thì điều kiện trở thành true. (A >= B) là đúng.
<= (nhỏ hơn hoặc bằng) Kiểm tra nếu giá trị của toán hạng bên trái nhỏ hơn hoặc bằng giá trị của toán hạng bên phải, nếu đúng thì điều kiện trở thành true. (A <= B) là sai.

Các phép toán trên bit (bitwise)

Java định nghĩa một số toán tử bit , có thể áp dụng cho các kiểu số nguyên long, int, short, char và byte.
Toán tử bit hoạt động trên các bit và thực hiện thao tác bit-by-bit. Giả sử nếu a = 60 và b = 13; bây giờ ở định dạng nhị phân, chúng sẽ như sau:
a = 0011 1100
b = 0000 1101
a & b = 0000 1100
a | b = 0011 1101
a ^ b = 0011 0001
~ a = 1100 0011
Bảng sau đây liệt kê các toán tử bit
Giả sử biến số nguyên A có giá trị 60 và biến B có giá trị 13:

Ký hiệu Sự miêu tả Thí dụ
& (bitwise và) Binary AND Operator sao chép điểm giống nhau giữ bit 1 từ cả hai toán tử cho ra kết quả. (A & B) sẽ cho 12 là 0000 1100
(bitwise hoặc) Binary OR Operator sao chép các điểm bit 1 giữa hai toán tử cho ra kết quả. (A | B) sẽ cho 61 là 0011 1101
^ (bitwise XOR) Nhà điều hành XOR nhị phân sao chép bit nếu nó được đặt trong một toán hạng nhưng không phải cả hai. (A ^ B) sẽ cho 49 là 0011 0001
~ (lời khen bitwise) Binary Ones Complement Operator là unary và có tác dụng của 'flipping' bit. (~ A) sẽ cung cấp cho -61 là 1100 0011 trong dạng bổ sung của 2 do một số nhị phân có dấu.
<< (dịch chuyển trái) Trình điều khiển Shift trái nhị phân.Giá trị toán hạng bên trái được di chuyển sang trái bởi số bit được chỉ định bởi toán hạng bên phải. Một << 2 sẽ cho 240 là 1111 0000
>> (shift phải) Trình điều khiển Shift phải nhị phân. Giá trị toán hạng bên trái được di chuyển ngay bởi số bit được chỉ định bởi toán hạng bên phải. A >> 2 sẽ cho 15 là 1111
>>> (không điền đúng ca) Shift phải điền toán tử fill. Giá trị toán hạng bên trái được di chuyển ngay bởi số bit được chỉ định bởi toán hạng bên phải và các giá trị dịch chuyển được lấp đầy bằng số không. Một >>> 2 sẽ cho 15 là 0000 1111

 

Các toán tử Logic:

Giả sử biến số nguyên A có giá trị đúng(true) và biến B có giá trị sai(false):

Ký hiệu Sự miêu tả Thí dụ
&& (và) Được gọi là toán tử logic và được gọi. Nếu cả hai toán hạng đều khác 0 thì điều kiện trở thành true. (A && B) là sai
|| (hoặc) Được gọi là logic hoặc toán tử. Nếu bất kỳ toán tử nào trong số hai toán hạng không khác, thì điều kiện trở thành true. (A || B) là đúng
(phủ định) Được gọi là Operical NOT Operator. Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu điều kiện là đúng thì toán tử logic NOT sẽ sai. ! (A && B) là đúng

Toán tử gán hoặc chuyển nhượng: 

Nhà điều hành Sự miêu tả Thí dụ
= Toán tử gán đơn giản. Gán giá trị từ toán hạng bên phải sang toán hạng bên trái. C = A + B sẽ gán giá trị của A + B vào C
+ = Thêm toán tử gán AND. Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái. C + = A tương đương với C = C + A
- = Subtract AND assignment operator. Nó trừ toán hạng bên phải từ toán hạng bên trái và gán kết quả cho toán hạng bên trái. C - = A tương đương với C = C - A
* = Nhân và toán tử gán. Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái. C * = A tương đương với C = C * A
/ = Nhân viên phân chia và chuyển nhượng.Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái. C / = A tương đương với C = C / A
% = Toán tử mô-đun và gán. Nó có modulus bằng cách sử dụng hai toán hạng và gán kết quả cho toán hạng bên trái. C% = A tương đương với C = C% A
<< = Toán tử trái và toán tử gán. C << = 2 cũng giống như C = C << 2
>> = Toán tử chuyển đổi và chuyển quyền. C >> = 2 giống như C = C >> 2
& = Toán tử bitwise AND assignment. C & = 2 giống C = C & 2
^ = OR hoặc toán tử gán độc quyền bit. C ^ = 2 giống như C = C ^ 2
| = OR hoặc toán tử gán bit. C | = 2 giống như C = C |2

Một số phép toán khác: 

Phép toán điều kiện: ? :

Cách sử dụng: 

variable x = (expression) ? value if true : value if false

Ví dụ: 

public class Test {

   public static void main(String args[]) {
      int a, b;
      a = 0;
      b = (a == 1) ? 1: 3;
      System.out.println( "Giá trị của b là : " +  b );

      b = (a == 0) ? 2: 3;
      System.out.println( "giá trị của b là : " + b );
   }
}

Kết quả: 

Giá trị của b là: 3

Giá trị của b là: 2

Biến tham chiếu: 

Phép toán điều kiện này sẽ so sánh xem giá trị có đúng với kiểu dữ liệu được định nghĩa trước không:

Cách sử dụng:

( Object reference variable ) instanceof  (class/interface type)

Ví dụ: 

public class Test {

   public static void main(String args[]) {

      String ten = "nam";

      // ở đây sẽ so sánh biến ten có thuộc kiểu String hay không
      boolean rs = ten instanceof String;
      System.out.println(rs);
   }
}

Kết quả:

true

Thứ tự ưu tiên một số phép toán thường dùng trong Java:

Các phép toán ưu tiên được xếp từ cao xuống thấp trong bảng sau:

Loại Ký hiệu Phân cấp
Postfix > () []. (toán tử dấu chấm) Trái toright
Unary > ++ - -! ~ Phải sang trái
Multiplicative > * / Trái sang phải
Additive > + - Trái sang phải
Shift >>> >>> << Trái sang phải
Relational >>> = <<= Trái sang phải
Equality > ==! = Trái sang phải
Bitwise AND > & Trái sang phải
Bitwise XOR > ^ Trái sang phải
Bitwise OR > | Trái sang phải
Logical AND > && Trái sang phải
Logical OR > || Trái sang phải
Conditional ?: Phải sang trái
Assignment > = + = - = * = / =% = >> = << = & = ^ = | = Phải sang trái

 

 

  • Viết bởi bxh.cpu@gmail.com
  • 05/09/2018
  • 100
  • JAVA

Bình luận