Thứ Sáu, 7 tháng 12, 2018

Java - Nhà khai thác cơ bản

Học lập trình Java cung cấp một tập các toán tử phong phú để thao tác các biến. Chúng ta có thể chia tất cả các toán tử Java thành các nhóm sau:

Toán tử số học

Các nhà khai thác quan hệ

Nhà khai thác bitwise

Toán tử hợp lý

Toán tử chuyển nhượng

Nhà khai thác Misc

Toán tử số học

Toán tử số học được sử dụng trong các biểu thức toán học giống như cách chúng được sử dụng trong đại số. Bảng sau liệt kê toán tử số học.

Học lập trình Java

Giả sử biến số nguyên A chứa 10 và biến B giữ 20, sau đó

Hiển thị các ví dụ

Nhà điều hànhSự miêu tảThí dụ
+ (Bổ sung)Thêm giá trị ở hai bên của toán tử.A + B sẽ cho 30
- (Trừ)Trích xuất toán hạng bên phải từ toán hạng bên trái.A - B sẽ cho -10
* (Phép nhân)Giá trị nhân trên cả hai phía của toán tử.A * B sẽ cho 200
/ (Phân chia)Chia toán hạng bên trái bằng toán hạng bên phải.B / A sẽ cho 2
% (Modulus)Chia toán hạng bên trái bằng toán hạng bên phải và trả về phần còn lại.B% A sẽ cho 0
++ (Tăng dần)Tăng giá trị của toán hạng lên 1.B ++ cho 21
- (Giảm dần)Giảm giá trị của toán hạng xuống 1.B-- cho 19
Các nhà khai thác quan hệ

Có những toán tử quan hệ được hỗ trợ bởi ngôn ngữ Java.

Giả sử biến A giữ 10 và biến B giữ 20, sau đó

Hiển thị các ví dụ

Nhà điều hànhSự 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) không đúng.
! = (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.(A> B) là không đúng sự thật.
<(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 có thì điều kiện trở thành true.(A <B) là sự thật.
> = (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 có thì điều kiện trở thành true.(A> = B) là không đúng sự thật.
<= (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 có thì điều kiện trở thành true.(A <= B) là đúng.

Các nhà khai thác bitwise

Java định nghĩa một số toán tử bitwise, có thể áp dụng cho các kiểu số nguyên, dài, int, short, char và byte.

Toán tử bitwise 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ử bitwise

Giả sử biến số nguyên A giữ 60 và biến B giữ 13 rồi

Hiển thị các ví dụ

Nhà điều hànhSự miêu tảThí dụ
& (bitwise và)Binary AND Operator sao chép một chút vào kết quả nếu nó tồn tại trong cả hai toán hạng.(A & B) sẽ tặng 12 cái là 0000 1100
(bitwise hoặc)Binary OR Operator copy một chút nếu nó tồn tại trong toán hạng.(A | B) sẽ cho 61 là 0011 1101
^ (bitwise XOR)Binary XOR Operator sao chép bit nếu nó được thiết lập 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 nhà khai thác hợp lý

Bảng sau đây liệt kê các toán tử logic

Giả sử biến Boolean A giữ đúng và biến B giữ sai, sau đó

Hiển thị các ví dụ

Nhà điều hànhSự miêu tảThí dụ
&& (lôgic 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
|| (hợp lý 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
(hợp lý không)Đượ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à sự thật
Toán tử chuyển nhượng

Sau đây là các toán tử gán được hỗ trợ bởi ngôn ngữ Java 

Hiển thị các ví dụ

Nhà điều hànhSự 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

Các nhà khai thác khác

Có vài toán tử khác được hỗ trợ bởi ngôn ngữ Java.

Điều hành có điều kiện ( ? : )

Toán tử điều kiện còn được gọi là toán tử bậc ba . Toán tử này bao gồm ba toán hạng và được sử dụng để đánh giá các biểu thức Boolean. Mục tiêu của toán tử là quyết định, giá trị nào nên được gán cho biến. Toán tử được viết là

variable x = (expression) ? value if true : value if false
Sau đây là một ví dụ

Thí dụ
public class Test {

   public static void main(String args[]) {
      int a, b;
      a = 10;
      b = (a == 1) ? 20: 30;
      System.out.println( "Value of b is : " +  b );

      b = (a == 10) ? 20: 30;
      System.out.println( "Value of b is : " + b );
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

Value of b is : 30
Value of b is : 20

instanceof Toán tử

Toán tử này chỉ được sử dụng cho các biến tham chiếu đối tượng. Toán tử kiểm tra xem đối tượng có thuộc loại cụ thể (loại lớp hay loại giao diện) hay không. instanceof toán tử được viết là
( Object reference variable ) instanceof  (class/interface type)

Nếu đối tượng được tham chiếu bởi biến ở bên trái của toán tử, hãy vượt qua kiểm tra IS-A cho loại lớp / giao diện ở bên phải, thì kết quả sẽ là đúng. Sau đây là một ví dụ

Thí dụ
public class Test {

   public static void main(String args[]) {

      String name = "James";

      // following will return true since name is type of String
      boolean result = name instanceof String;
      System.out.println( result );
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

true

Toán tử này sẽ vẫn trả về true, nếu đối tượng được so sánh là phép gán tương thích với kiểu bên phải. Sau đây là một ví dụ khác

Thí dụ
class Vehicle {}

public class Car extends Vehicle {

   public static void main(String args[]) {

      Vehicle a = new Car();
      boolean result =  a instanceof Car;
      System.out.println( result );
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

true

Ưu tiên của các nhà khai thác Java

Học lập trình Java Ưu tiên toán tử xác định nhóm các thuật ngữ trong một biểu thức. Điều này ảnh hưởng đến cách một biểu thức được đánh giá. Một số nhà khai thác có quyền ưu tiên cao hơn so với các nhà khai thác khác; ví dụ, toán tử nhân có ưu tiên cao hơn toán tử cộng -

Ví dụ: x = 7 + 3 * 2; ở đây x được gán 13, không phải 20 vì toán tử * có ưu tiên cao hơn +, vì vậy trước tiên nó được nhân với 3 * 2 và sau đó thêm vào 7.

Ở đây, các toán tử có mức ưu tiên cao nhất xuất hiện ở đầu bảng, các toán tử có giá trị thấp nhất xuất hiện ở dưới cùng. Trong một biểu thức, các toán tử ưu tiên cao hơn sẽ được đánh giá đầu tiên.
thể loạiNhà điều hànhKhả năng tương tác
Postfixbiểu thức ++ biểu thức--Trái sang phải
Unary++ biểu thức - biểu hiện + biểu hiện - biểu hiện ~!Phải sang trái
Nhân* /%Trái sang phải
Phụ gia+ -Trái sang phải
Shift<< >> >>>Trái sang phải
Quan hệ<> <=> = instanceofTrái sang phải
Bình đẳng==! =Trái sang phải
Bitwise AND&Trái sang phải
Bitwise XOR^Trái sang phải
Bitwise HOẶC|Trái sang phải
Logic và&&Trái sang phải
Hợp lý HOẶC||Trái sang phải
Điều kiện?:Phải sang trái
Nhiệm vụ= + = - = * = / =% = ^ = | = << = >> = >>> =Phải sang trái

Tiếp theo là gì?

Chương tiếp theo sẽ giải thích về điều khiển vòng lặp trong lập trình Java.

Chương này sẽ mô tả các loại vòng lặp khác nhau và cách các vòng lặp này có thể được sử dụng trong phát triển chương trình Java và cho mục đích gì chúng đang được sử dụng.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...