Thứ Hai, 10 tháng 12, 2018

Java - Toán tử cơ bản

Học lập trình Java cung cấp một tập hợ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

Toán tử quan hệ

Toán tử bitwise

Toán tử logic

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

Người điều khiển linh tinh

Các toán tử số học

Học lập trình Java
Học lập trình Java

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ê các toán tử số học

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

Hiển thị 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
- (Phép trừ)Trừ 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)Nhiều giá trị ở hai bên của toán tử.A * B sẽ cho 200
/ (Bộ phận)Chia toán hạng bên trái bằng toán hạng bên phải.B / A sẽ cho 2
% (Mô-đun)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)Tăng giá trị của toán hạng thêm 1.B ++ cho 21
- (Giảm)Giảm giá trị của toán hạng đi 1.B-- cho 19

Các toán tử quan hệ

Có các toán tử quan hệ sau đượ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ị 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 đúng.(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 đúng.(A! = B) là đúng.
> (lớn hơn)Kiểm tra xem 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 hay không, nếu có thì điều kiện trở thành đúng.(A> B) là không đúng sự thật.
<(ít hơn)Kiểm tra xem 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 hay không, nếu có thì điều kiện trở thành đúng.(A <B) là đúng.
> = (lớn hơn hoặc bằng)Kiểm tra xem 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 hay không, nếu có thì điều kiện trở thành đúng.(A> = B) không đúng.
<= (nhỏ hơn hoặc bằng)Kiểm tra xem 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 đúng.(A <= B) là đúng.

Các toán tử bitwise

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

Toán tử bitwise hoạt động trên bit và thực hiện thao tác từng 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 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 thì

Hiển thị ví dụ

Nhà điều hànhSự miêu tảThí dụ
& (bitwise và)Binary AND Toán tử 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ẽ cho 12 là 0000 1100
(bitwise hoặc)Toán tử nhị phân HOẶC sao chép một chút nếu nó tồn tại trong một toán hạng.(A | B) sẽ cho 61 là 0011 1101
^ (bitwise XOR)Toán tử nhị phân XOR 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
~ (khen ngợi một chút)Toán tử bổ sung nhị phân là đơn nhất và có tác dụng 'lật' các bit.(~ A) sẽ cho -61 là 1100 0011 ở dạng bổ sung của 2 do số nhị phân đã ký.
<< (dịch chuyển trái)Toán tử Shift trái nhị phân. Giá trị toán hạng bên trái được di chuyển sang trái theo số bit được chỉ định bởi toán hạng bên phải.<< 2 sẽ cho 240 là 1111 0000
>> (ca phải)Toán tử dịch chuyển nhị phân phải.Giá trị toán hạng bên trái được di chuyển sang phải theo 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 toán tử điền 0. Giá trị toán hạng bên trái được di chuyển sang phải bởi số lượng bit được chỉ định bởi toán hạng bên phải và các giá trị được dịch chuyển được lấp đầy bằng các số không.A >>> 2 sẽ cho 15 là 0000 1111
Các toán tử logic

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

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

Hiển thị ví dụ

Nhà điều hànhSự miêu tảThí dụ
&& (logic và)Được gọi là logic và toán tử. Nếu cả hai toán hạng đều khác không, thì điều kiện sẽ trở thành đúng.(A && B) là sai
| | (logic hoặc)Được gọi là logic HOẶC Toán tử. Nếu bất kỳ một trong hai toán hạng đều khác không, thì điều kiện sẽ trở thành đúng.(A | | B) là đúng
(logic không)Được gọi là logic KHÔNG khai thác. Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu một điều kiện là đúng thì toán tử logic logic sẽ làm sai.! (A && B) là đúng

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ị ví dụ

Nhà điều hànhSự miêu tảThí dụ
= =Toán tử gán đơn giản. Gán các giá trị từ toán hạng bên phải cho 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
- = =Trừ và toán tử gán. 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
/ =Chia toán tử và gán toán tử. 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
% =Mô đun và toán tử gán. Nó nhận mô-đun 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
<< =Ca trái và toán tử gán.C << = 2 giống với C = C << 2
>> =Ca phải và toán tử gán.C >> = 2 giống với C = C >> 2
& =Toán tử bitwise AND gán.C & = 2 giống như C = C & 2
^ =bitwise độc ​​quyền OR và toán tử gán.C ^ = 2 giống với C = C ^ 2
| =bao gồm bitwise OR và toán tử gán.C | = 2 giống với C = C | 2

Toán tử linh tinh

Có một 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ử có điều kiện còn được gọi là toán tử ternary . 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 sẽ đượ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ụ
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 

Toán tử thể hiện

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ể không (loại lớp hoặc loại giao diện). Toán tử instanceof được viết là

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

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

Ư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 những 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 +, do đó, đầu tiên nó được nhân với 3 * 2 và sau đó thêm vào 7.

Ở đây, các toán tử có quyền ưu tiên cao nhất xuất hiện ở đầu bảng, những toán tử có mức thấp nhất xuất hiện ở cuối bả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ànhKết hợp
Hậu tốbiểu thức ++ biểu thức--Trái sang phải
Đơn phương++ biểu thức Cấm-biểu hiện + biểu thức Cấmexpression ~!Phải sang trái
Nhân* /%Trái sang phải
Phụ gia+ -Trái sang phải
Ca<< >> >>>Trái sang phải
Quan hệ<> <=> = instanceofTrái sang phải
Bình đẳng==! =Trái sang phải
Bitwise VÀ&Trái sang phải
Bitwise XOR^Trái sang phải
Bitwise HOẶC|Trái sang phải
Hợp lý VÀ&&Trái sang phải
Hợp lý HOẶC| |Trái sang phải
Có điều kiện?Phải sang trái
Bài tập= + = - = * = / =% = ^ = | = << = >> = >>> =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 sử dụng chú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...