Kotlin - Các loại cơ bản
Trong chương này, chúng ta sẽ tìm hiểu về các kiểu dữ liệu cơ bản có trong ngôn ngữ lập trình Kotlin.
Số
Việc biểu diễn các số trong Kotlin khá giống với Java, tuy nhiên, Kotlin không cho phép chuyển đổi nội bộ các kiểu dữ liệu khác nhau. Bảng sau liệt kê các độ dài biến khác nhau cho các số khác nhau.
Kiểu | Kích thước |
---|---|
Gấp đôi | 64 |
Phao nổi | 32 |
Dài | 64 |
Int | 32 |
Ngắn | 16 |
Byte | số 8 |
Trong ví dụ sau, chúng ta sẽ thấy cách Kotlin hoạt động với các kiểu dữ liệu khác nhau. Vui lòng nhập bộ mã sau vào phần mã của chúng tôi.
fun main(args: Array<String>) {
val a: Int = 10000
val d: Double = 100.00
val f: Float = 100.00f
val l: Long = 1000000004
val s: Short = 10
val b: Byte = 1
println("Your Int Value is "+a);
println("Your Double Value is "+d);
println("Your Float Value is "+f);
println("Your Long Value is "+l);
println("Your Short Value is "+s);
println("Your Byte Value is "+b);
}
Khi bạn chạy đoạn mã trên trong nền mã, nó sẽ tạo ra kết quả sau trong bảng điều khiển web.
Your Int Value is 10000
Your Double Value is 100.0
Your Float Value is 100.0
Your Long Value is 1000000004
Your Short Value is 10
Your Byte Value is 1
Nhân vật
Kotlin đại diện cho ký tự bằng cách sử dụng char. Ký tự nên được khai báo trong một trích dẫn duy nhất như‘c’. Vui lòng nhập mã sau vào nền tảng mã hóa của chúng tôi và xem cách Kotlin diễn giải biến ký tự. Không thể khai báo biến ký tự giống như biến số. Biến Kotlin có thể được khai báo theo hai cách - một bằng cách sử dụng“var” và khác bằng cách sử dụng “val”.
fun main(args: Array<String>) {
val letter: Char // defining a variable
letter = 'A' // Assigning a value to it
println("$letter")
}
Đoạn mã trên sẽ mang lại kết quả sau trong cửa sổ đầu ra của trình duyệt.
A
Boolean
Boolean rất đơn giản giống như các ngôn ngữ lập trình khác. Chúng tôi chỉ có hai giá trị cho Boolean - đúng hoặc sai. Trong ví dụ sau, chúng ta sẽ xem cách Kotlin diễn giải Boolean.
fun main(args: Array<String>) {
val letter: Boolean // defining a variable
letter = true // Assinging a value to it
println("Your character value is "+"$letter")
}
Đoạn mã trên sẽ mang lại kết quả sau trong trình duyệt.
Your character value is true
Dây
Chuỗi là mảng ký tự. Giống như Java, chúng là bất biến về bản chất. Chúng tôi có hai loại chuỗi có sẵn trong Kotlin - một loại được gọi làraw String và một cái khác được gọi là escaped String. Trong ví dụ sau, chúng ta sẽ sử dụng các chuỗi này.
fun main(args: Array<String>) {
var rawString :String = "I am Raw String!"
val escapedString : String = "I am escaped String!\n"
println("Hello!"+escapedString)
println("Hey!!"+rawString)
}
Ví dụ trên về Chuỗi thoát cho phép cung cấp thêm khoảng cách dòng sau câu lệnh in đầu tiên. Sau đây sẽ là kết quả trong trình duyệt.
Hello!I am escaped String!
Hey!!I am Raw String!
Mảng
Mảng là một tập hợp các dữ liệu đồng nhất. Giống như Java, Kotlin hỗ trợ các mảng kiểu dữ liệu khác nhau. Trong ví dụ sau, chúng ta sẽ sử dụng các mảng khác nhau.
fun main(args: Array<String>) {
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
println("Hey!! I am array Example"+numbers[2])
}
Đoạn mã trên tạo ra kết quả sau. Việc lập chỉ mục của mảng tương tự như các ngôn ngữ lập trình khác. Ở đây, chúng tôi đang tìm kiếm chỉ mục thứ hai, có giá trị là “3”.
Hey!! I am array Example3
Bộ sưu tập
Bộ sưu tập là một phần rất quan trọng của cấu trúc dữ liệu, giúp các kỹ sư phát triển phần mềm dễ dàng. Kotlin có hai loại tập hợp - một làimmutable collection (có nghĩa là danh sách, bản đồ và tập hợp không thể chỉnh sửa được) và một danh sách khác là mutable collection(loại tập hợp này có thể chỉnh sửa được). Điều rất quan trọng là phải ghi nhớ loại tập hợp được sử dụng trong ứng dụng của bạn, vì hệ thống Kotlin không đại diện cho bất kỳ sự khác biệt cụ thể nào trong chúng.
fun main(args: Array<String>) {
val numbers: MutableList<Int> = mutableListOf(1, 2, 3) //mutable List
val readOnlyView: List<Int> = numbers // immutable list
println("my mutable list--"+numbers) // prints "[1, 2, 3]"
numbers.add(4)
println("my mutable list after addition --"+numbers) // prints "[1, 2, 3, 4]"
println(readOnlyView)
readOnlyView.clear() // ⇒ does not compile
// gives error
}
Đoạn mã trên sẽ mang lại kết quả sau trong trình duyệt. Nó gây ra lỗi khi chúng tôi cố gắng xóa danh sách bộ sưu tập có thể thay đổi.
main.kt:9:18: error: unresolved reference: clear
readOnlyView.clear() // -> does not compile
^
Trong bộ sưu tập, Kotlin cung cấp một số phương pháp hữu ích như first(), last(), filter(), v.v ... Tất cả các phương pháp này đều tự mô tả và dễ thực hiện. Hơn nữa, Kotlin tuân theo cấu trúc tương tự như Java trong khi thực hiện bộ sưu tập. Bạn có thể tự do thực hiện bất kỳ bộ sưu tập nào mà bạn chọn, chẳng hạn như Bản đồ và Bộ.
Trong ví dụ sau, chúng tôi đã triển khai Bản đồ và Tập hợp bằng các phương pháp tích hợp sẵn khác nhau.
fun main(args: Array<String>) {
val items = listOf(1, 2, 3, 4)
println("First Element of our list----"+items.first())
println("Last Element of our list----"+items.last())
println("Even Numbers of our List----"+items.
filter { it % 2 = = 0 }) // returns [2, 4]
val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)
println(readWriteMap["foo"]) // prints "1"
val strings = hashSetOf("a", "b", "c", "c")
println("My Set Values are"+strings)
}
Đoạn mã trên tạo ra kết quả sau trong trình duyệt.
First Element of our list----1
Last Element of our list----4
Even Numbers of our List----[2, 4]
1
My Set Values are[a, b, c]
Các dãy
Dãy là một đặc điểm độc đáo khác của Kotlin. Giống như Haskell, nó cung cấp một toán tử giúp bạn lặp qua một phạm vi. Trong nội bộ, nó được triển khai bằng cách sử dụngrangeTo() và dạng toán tử của nó là (..).
Trong ví dụ sau, chúng ta sẽ thấy cách Kotlin diễn giải toán tử phạm vi này.
fun main(args: Array<String>) {
val i:Int = 2
for (j in 1..4)
print(j) // prints "1234"
if (i in 1..10) { // equivalent of 1 < = i && i < = 10
println("we found your number --"+i)
}
}
Đoạn mã trên tạo ra kết quả sau trong trình duyệt.
1234we found your number --2