Tìm hiểu về toán tử trong Kotlin

Kotlin có tích hợp một số các toán tử, là các hàm sử dụng biểu diễn tên tượng trưng. Chúng được sử dụng để thực hiện các thao tác trên toán hạng. Trong bài viết này, mời các bạn cùng Quản Trị Mạng tìm hiểu chi tiết về toán tử Kotlin qua các ví dụ.

Toán tử Kotlin là gì?

Toán tử là một ký hiệu duy nhất được sử dụng để thực hiện một thao tác cụ thể trên toán hạng của nó. Toán tử là một ký hiệu hướng dẫn trình biên dịch hoặc trình thông dịch thực hiện một phép toán, quan hệ hoặc logic cụ thể và trả về kết quả.

Trong Kotlin, chúng ta có nhiều toán tử tích hợp để thực hiện các thao tác khác nhau. Mặc dù toán tử Kotlin có thể hoạt động với nhiều loại biến và hằng số, một trong số chúng bị giới hạn hoạt động với các loại dữ liệu cụ thể.

Bây giờ, chúng ta sẽ tìm hiểu các loại toán tử trong Kotlin.

Các loại toán tử trong Kotlin

Trong Kotlin có nhiều loại toán tử khác nhau như:

  • Toán tử số học
  • Toán tử gán
  • Toán tử so sánh
  • Toán tử logic
  • Toán tử đơn nguyên
  • Toán tử bitwise

Bây giờ chúng ta hãy tìm hiểu chi tiết về các toán tử này.

Toán tử số học

Toán tử số học được sử dụng để thực hiện các phép toán số học hoặc toán học như cộng, trừ, nhân, chia, mô đun...

Toán tử số học

  • + Để cộng hai giá trị ta dùng toán tử cộng.
  • - Phép trừ dùng để trừ một giá trị này cho một giá trị khác.
  • * Hai giá trị a và b được nhân với nhau bằng toán tử nhân.
  • / Để chia một giá trị cho một giá trị khác, toán tử chia được sử dụng.
  • % Phần dư của phép chia được trả về bởi toán tử mô đun.

Dưới đây là ví dụ về các phép tính số học sử dụng các toán tử số học:

Ví dụ về các phép tính số học sử dụng các toán tử số học

Kết quả của ví dụ trên:

Kết quả của ví dụ toán tử toán học

Toán tử gán

Chúng ta có thể sử dụng các toán tử gán để gán một giá trị biến hoặc kết quả của một biểu thức số học cho một biến.

Toán tử gán

  • += Thêm a vào b và gán cho a.
  • -= Trừ b từ a và gán cho a.
  • *= Nhân a với b rồi gán cho a.
  • /= Chia a cho b và gán cho a.
  • %= Chia a cho b và gán phần dư cho a.

Dưới đây là ví dụ về toán tử gán:

Ví dụ về toán tử gán

Trong ví dụ này, n1+=n2 có nghĩa là n1=n1+n2 là 75(60+15). Tương tự, n1-=2 có nghĩa là n1=n1-n2, tức là 45(60-15) và điều này cũng áp dụng cho tất cả các biểu thức khác.

Toán tử so sánh

So sánh giữa hai toán hạng được đánh giá bằng toán tử so sánh. Giá trị Boolean, chỉ có thể đúng hoặc sai, là kết quả của quá trình so sánh. Toán tử so sánh còn được gọi là toán tử quan hệ.

Toán tử so sánh

  • a>b Kiểm tra xem a có lớn hơn b hay không.
  • a<b Kiểm tra xem a có nhỏ hơn b hay không.
  • a>=b Kiểm tra xem a có lớn hơn hoặc bằng b hay không.
  • a<=b Kiểm tra xem a có nhỏ hơn hoặc bằng b hay không.
  • a==b Kiểm tra xem a có bằng b hay không.
  • a!=b Kiểm tra xem a có không bằng b hay không.

Dưới đây là ví dụ về toán tử so sánh:

Ví dụ về toán tử so sánh

Trong ví dụ này, chúng ta đang so sánh n1 và n2 và kiểm tra xem trong số chúng số nào lớn hơn. Số lớn hơn sẽ được xuất ra.

Toán tử logic

Các toán tử logic (AND, OR, NOT) được sử dụng để kết hợp các biểu thức với các câu điều kiện, mang lại kết quả đúng (true) hoặc sai (fail).

  • && (AND) Nếu mọi biểu thức là đúng, nó sẽ trả về giá trị đúng.
  • || (OR) Nó trả về giá trị đúng nếu bất kỳ biểu thức nào có giá trị đúng.
  • ! (NOT) Nó trả về phủ định của biểu thức.

Dưới đây là ví dụ:

Ví dụ toán tử logic

Trong ví dụ này, chúng ta sử dụng toán tử AND ở giữa các so sánh của n1, n2 và n3. Toán tử AND sẽ chỉ trả về giá trị đúng nếu n1 lớn hơn cả n2 và n3 theo cả hai biểu thức, nghĩa là nếu cả hai biểu thức đều đánh giá là đúng, nếu không, nó sẽ trả về giá trị sai.

Trong trường hợp toán tử OR, nếu bất kỳ biểu thức nào được đánh giá là đúng thì toán tử OR sẽ trả về giá trị đúng.

Toán tử NOT trả về phủ định của giá trị p.

Kết quả của ví dụ trên:

Kết quả ví dụ toán tử logic

Toán tử đơn nguyên

Toán tử đơn nguyên (hay còn gọi là toán tử một ngôi) là những toán tử chỉ làm việc với một toán hạng.

Trong Kotlin, có 4 loại toán tử đơn nguyên:

  • Toán tử đơn nguyên cộng (+).
  • Toán tử đơn nguyên trừ (-).
  • Toán tử tăng (++).
  • Toán tử giảm (--).

Toán tử đơn nguyên cộng (+): Một số không có dấu là một số dương, toán tử đơn nguyên cộng trả về giá trị dương.

Toán tử đơn nguyên trừ (-): Toán tử này trả về giá trị âm.

Toán tử tăng (++): Sử dụng toán tử này, giá trị được tăng lên 1; toán tử gia tăng này có thể là gia tăng trước hoặc gia tăng sau.

Toán tử giảm (--): Toán tử này giảm giá trị đi 1; toán tử này cũng có thể là giảm trước hoặc giảm sau.

Chúng ta hãy xem xét ví dụ của các toán tử này trong ảnh bên dưới:

Ví dụ toán tử đơn nguyên

Đây là kết quả:

Kết quả ví dụ toán tử đơn nguyên

Toán tử bitwise

Thực chất Kotlin không có toán tử bitwise nhưng nó lại có một số chức năng giúp thực hiện các tác vụ đó.

  • shl - Signed shift left: Các bit được dịch sang trái, bit ngoài cùng bên trái bị loại bỏ và bit ngoài cùng bên phải được đặt thành 0.
  • shr - Dịch chuyển có dấu sang phải: So sánh các cặp bit, toán tử OR theo chiều bit (bao gồm) trả về 1 nếu một trong hai hoặc cả hai bit là 1, ngược lại là 0.
  • ushr - Toán tử dịch chuyển bên phải không dấu dịch chuyển số 0 vào vị trí ngoài cùng bên trái.
  • and - bitwise and: Toán tử bitwise AND so sánh các cặp bit và trả về 1 nếu cả hai đều là 1, ngược lại là 0.
  • or - bitwise or: Toán tử bitwise OR so sánh các cặp bit (bao gồm) trả về 1 nếu một trong hai hoặc cả hai bit là 1, nếu không thì trả về 0.
  • xor - bitwise xor: Hàm bitwise XOR so sánh các cặp bit và trả về 1 nếu các cặp bit là bổ sung, nếu không sẽ trả về 0.
  • inv - đảo ngược bitwise: Hàm inv() bitwise đảo ngược mẫu bit và biến mọi 0 thành 1 và mọi 1 thành 0.

Dưới đây là ví dụ:

Ví dụ toán tử bitwise

Ở trong ví dụ này, a.and(b) và hàm sẽ so sánh các bit của a và b, tức là 12 và 6.

Trong hàm AND nếu cả hai bit là 1 thì nó đánh giá là 1; mặt khác, nếu một trong hai bit là 0, thì nó được đánh giá bằng 0.

Tương tự, hàm OR sẽ so sánh các bit của a và b. Trong hàm OR, nếu một trong hai bit là 1, nó sẽ cho 1; nếu không, nó sẽ cho 0.

Trong trường hợp a.xor(b), nếu cả hai bit giống nhau, nó sẽ cho kết quả 0 và nếu cả hai khác nhau thì kết quả là 1.

Hàm a.inv() sẽ đảo ngược mọi 0 thành 1 và 1 thành 0.

Hàm shl thêm bit 0 trong khi dịch chuyển một số bit đã chỉ định sang trái theo mẫu bit.

Tương tự, hàm shr di chuyển một mẫu bit sang phải theo một lượng bit xác định.

Hàm ushr là toán tử dịch chuyển phải không giữ nguyên dấu của số ban đầu và điền vào vị trí mới bằng 0.

Kết quả của ví dụ trên được thể hiện trong ảnh bên dưới:

Kết quả ví dụ toán tử bitwise

Quản Trị Mạng hy vọng rằng bài viết này sẽ có ích đối với bạn.

Thứ Bảy, 14/01/2023 11:00
51 👨 244
0 Bình luận
Sắp xếp theo