Các kiểu dữ liệu Kotlin
Các kiểu dữ liệu Kotlin
Trong Kotlin, loại biến được quyết định bởi giá trị của nó:
Ví dụ
val myNum = 5 // Int
val myDoubleNum = 5.99 // Double
val myLetter = 'D' // Char
val myBoolean = true // Boolean
val myText = "Hello" // String
Hãy tự mình thử »Tuy nhiên, bạn đã học được từ chương trước rằng có thể chỉ định loại nếu bạn muốn:
Ví dụ
val myNum: Int = 5 // Int
val myDoubleNum: Double = 5.99 // Double
val myLetter: Char = 'D' // Char
val myBoolean: Boolean = true // Boolean
val myText: String = "Hello" // String
Hãy tự mình thử »Đôi khi bạn phải chỉ định loại và thường thì không. Dù sao đi nữa, thật tốt khi biết các loại khác nhau đại diện cho điều gì.
Bạn sẽ tìm hiểu thêm về thời điểm bạn cần chỉ định loại sau.
Các kiểu dữ liệu được chia thành các nhóm khác nhau:
- số
- Nhân vật
- Boolean
- Dây
- Mảng
số
Các loại số được chia thành hai nhóm:
Kiểu số nguyên lưu trữ số nguyên, dương hoặc âm (chẳng hạn như 123 hoặc -456), không có số thập phân. Các loại hợp lệ là Byte
, Short
, Int
và Long
.
Các loại dấu phẩy động biểu thị các số có phần phân số, chứa một hoặc nhiều số thập phân. Có 2 loại: Float
và Double
.
Nếu bạn không chỉ định loại cho biến số, biến đó thường được trả về dưới dạng Int
cho số nguyên và Double
cho số dấu phẩy động.
Các kiểu số nguyên
Byte
Kiểu dữ liệu Byte
có thể lưu trữ các số nguyên từ -128 đến 127. Kiểu này có thể được sử dụng thay cho Int
hoặc các kiểu số nguyên khác để tiết kiệm bộ nhớ khi bạn chắc chắn rằng giá trị sẽ nằm trong khoảng -128 và 127:
Ngắn
Kiểu dữ liệu Short
có thể lưu trữ các số nguyên từ -32768 đến 32767:
Int
Kiểu dữ liệu Int
có thể lưu trữ các số nguyên từ -2147483648 đến 2147483647:
Dài
Kiểu dữ liệu Long
có thể lưu trữ các số nguyên từ -9223372036854775807 đến 9223372036854775807. Kiểu này được sử dụng khi Int
không đủ lớn để lưu trữ giá trị. Tùy chọn, bạn có thể kết thúc giá trị bằng chữ "L":
Sự khác biệt giữa Int và Long
Một số nguyên là Int
miễn là nó lên tới 2147483647. Nếu vượt quá số đó, nó được định nghĩa là Long
:
Ví dụ
val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
Các loại dấu phẩy động
Các loại dấu phẩy động biểu thị các số có số thập phân, chẳng hạn như 9,99 hoặc 3,14515.
Các kiểu dữ liệu Float
và Double
có thể lưu trữ các số phân số:
Sử dụng Float
hay Double
?
Độ chính xác của giá trị dấu phẩy động cho biết giá trị đó có thể có bao nhiêu chữ số sau dấu thập phân. Độ chính xác của Float
chỉ có sáu hoặc bảy chữ số thập phân, trong khi biến Double
có độ chính xác khoảng 15 chữ số. Vì vậy sẽ an toàn hơn khi sử dụng Double
cho hầu hết các phép tính.
Cũng lưu ý rằng bạn nên kết thúc giá trị của loại Float
bằng chữ "F".
Số khoa học
Số dấu phẩy động cũng có thể là số khoa học có chữ "e" hoặc "E" để biểu thị lũy thừa của 10:
Ví dụ
val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
Hãy tự mình thử »Boolean
Kiểu dữ liệu Boolean
và chỉ có thể lấy các giá trị true
hoặc false
:
Ví dụ
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun) // Outputs true
println(isFishTasty) // Outputs false
Hãy tự mình thử »Các giá trị Boolean chủ yếu được sử dụng để kiểm tra có điều kiện mà bạn sẽ tìm hiểu thêm ở chương sau.
Nhân vật
Kiểu dữ liệu Char
được sử dụng để lưu trữ một ký tự đơn . Giá trị char phải được bao quanh bởi dấu ngoặc đơn , như 'A' hoặc 'c':
Không giống như Java, bạn không thể sử dụng các giá trị ASCII để hiển thị các ký tự nhất định. Giá trị 66 sẽ tạo ra chữ "B" trong Java nhưng sẽ tạo ra lỗi trong Kotlin:
Ví dụ
val myLetter: Char = 66
println(myLetter) // Error
Dây
Kiểu dữ liệu String
được sử dụng để lưu trữ một chuỗi ký tự (văn bản). Giá trị chuỗi phải được bao quanh bởi dấu ngoặc kép :
Bạn sẽ tìm hiểu thêm về chuỗi trong chương Chuỗi .
Mảng
Mảng được sử dụng để lưu trữ nhiều giá trị trong một biến duy nhất, thay vì khai báo các biến riêng biệt cho từng giá trị.
Bạn sẽ tìm hiểu thêm về mảng trong chương Mảng .
Chuyển đổi loại
Chuyển đổi loại là khi bạn chuyển đổi giá trị của một loại dữ liệu sang loại khác.
Trong Kotlin, việc chuyển đổi kiểu số khác với Java . Ví dụ: không thể chuyển đổi loại Int
thành loại Long
bằng mã sau:
Để chuyển đổi một kiểu dữ liệu số sang một kiểu khác, bạn phải sử dụng một trong các hàm sau: toByte()
, toShort()
, toInt()
, toLong()
, toFloat()
, toDouble()
hoặc toChar()
: