BẮT ĐẦU
CĂN BẢN
KIỂU DỮ LIỆU
CONTROL FLOW
FUNCTION
EXCEPTION
OOP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Biến và Kiểu dữ liệu trong Kotlin

Có hai loại biến trong Kotlin, mutable(có thể thay đổi) và immutable(không thay đổi). Một biến immutable là một biến có giá trị không thể thay đổi, còn được gọi là biến không thể thay đổi hoặc chỉ đọc. Mặt khác, giá trị của biến mutable có thể được thay đổi.

I. Immutable variable: val keyword

Immutable được khai báo bằng cách sử dụng từ khóa val trong Kotlin. Trong ví dụ này, chúng ta khai báo một biến myName bất biến bằng cách sử dụng từ khóa val và sau đó hiển thị giá trị của nó.

/**
 * created by freetuts.net
 */
package beginnersbook

fun main(args : Array<String>){
    /**
     * This is an immutable variable
     * also called unchangeable variable
     * or read-only variable.
     */
    val myName = "Chaitanya"
    println("My Name is: "+myName)
}

OUTPUT

1 kotlin immutable variable jpg

Điều gì xảy ra khi chúng ta cố gắng thay đổi giá trị của một biến Immutable?

Nếu chúng ta cố gắng thay đổi giá trị của một biến Immutable , chúng ta sẽ gặp lỗi biên dịch, giống như chúng ta nhận được trong ví dụ sau.

/**
 * created by freetuts.net
 */
package beginnersbook

fun main(args : Array<String>){
    /**
     * This is an immutable variable
     * also called unchangeable variable
     * or read-only variable.
     */
    val myName = "Chaitanya"
    myName="Chaitanya Singh"
    println("My Name is: "+myName)
}

OUTPUT:

Error:(13, 5) Kotlin: Val cannot be reassigned

II. Mutable variable: var keyword

Không giống như biến bất biến (Immutable), chúng ta có thể thay đổi giá trị của biến có thể thay đổi. Trong kotlin, chúng ta sử dụng từ khóa var để khai báo một biến mutable. Hãy lấy một ví dụ để hiểu điều này.

Trong ví dụ này, chúng ta khai báo một biến mutable bằng cách sử dụng từ khóa var, để chứng minh rằng chúng ta có thể thay đổi giá trị của nó, chúng ta gán một giá trị khác cho biến myName.

package beginnersbook

fun main(args : Array<String>){
    /**
     * This is an mutable variable
     * we can change the value of this
     * variable
     */
    var myName = "Chaitanya"
    myName="Chaitanya Singh"
    println("My Name is: "+myName)
}

OUTPUT2 kotlin mutable variable jpg

III. Biến là gì?

Biến là một tên, được đặt cho một vị trí trong bộ nhớ có thể chứa dữ liệu. Ví dụ, khi chúng ta khai báo biến như thế này:

var dogName = "Hachiko"

Dữ liệu "Hachiko" được lưu trữ trong bộ nhớ tại một vị trí cụ thể, được đặt tên là dogName.

Ở đây var là một từ khóa được sử dụng để khai báo một biến, dogName là một định danh (tên của biến), Hachiko là data (giá trị của biến) và kiểu dữ liệu của biến là String (chúng ta sẽ tìm hiểu về kiểu dữ liệu là gì sau).

Đọc thêm: Kotlin - keywords và định danh

IV. Kiểu suy diễn

Như chúng ta đã đề cập trước đó, chúng ta có thể khai báo và khởi tạo biến trong một câu lệnh như sau:

var dogName="Hachiko"

Trong tuyên bố trên, chúng ta chưa chỉ định kiểu dữ liệu cho biến, kotlin biết rằng biến dogName là một chuỗi. Trình biên dịch có thể hiểu loại biến bằng cách xem các giá trị.

Tuy nhiên nếu bạn muốn đề cập rõ ràng về loại biến thì bạn có thể làm như thế này:

var dogName: String="Hachiko"

Ở đây chúng ta có thể thấy một cách rõ ràng về việc biến dogName có kiểu dữ liệu là dạng chuỗi(String).

Khai báo trước và khởi tạo sau:

Chúng ta có thể khai báo biến trước và sau đó chúng ta có thể khởi tạo nó sau trong chương trình. Điểm quan trọng cần lưu ý ở đây là chúng ta phải làm như thế này, bạn phải xác định loại biến trong khi khai báo.

//It is mandatory to specify the type in this case
var website: String
dogName = "Hachiko"

V. Kiểu dữ liệu trong Kotlin

Kotlin Data Types

  • Numbers – Byte, Short, Int, Long, Float, Double
  • Boolean – True, false
  • Characters
  • Arrays
  • Strings

Number

Chúng ta có một số loại dữ liệu để thể hiện các số trong Kotlin.

1 - Byte

Phạm vi của kiểu dữ liệu Byte là -128 đến 127. Byte được sử dụng để biểu thị các giá trị nguyên nhỏ hơn.

fun main(args : Array) {
    val num: Byte = 99
    println("$num")
}

OUTPUT: 99

Bạn phải xác định được phạm vi của loại dữ liệu để tránh lỗi. Ví dụ, đoạn code sau sẽ tạo ra lỗi vì giá trị được gán cho biến kiểu byte không nằm trong phạm vi.

fun main(args : Array) {
    //Range is -128 to 127
    val num: Byte = 300
    println("$num")
}

OUTPUT

error

Chúng ta cũng có thể biết giá trị tối thiểu và tối đa của một loại dữ liệu như thế này:

fun main(args : Array<String>){

    var bigByte: Byte = Byte.MAX_VALUE
    var smallByte: Byte = Byte.MIN_VALUE
    println("Biggest Byte value is: " + bigByte)

    /**
     * I can use String interpolation and put
     * the variable inside quotes to display its
     * value
     */
    println("Smallest Byte value is: $smallByte")
}

OUTPUT:

3 kotlin data types jpg

2 - Short

Phạm vi của kiểu dữ liệu Short là -32768 đến 32767.

fun main(args : Array) {
    val num: Short = 29999
    println("$num")
}

OUTPUT:

29999

Bạn có thể tự hỏi khi chúng tôi có phạm vi lớn hơn trong kiểu dữ liệu ngắn, tại sao chúng ta sử dụng kiểu dữ liệu Byte?

Điều này là để tiết kiệm bộ nhớ. Kiểu dữ liệu Short chứa nhiều bộ nhớ hơn so với loại dữ liệu Byte vì vậy nếu bạn chắc chắn rằng giá trị sẽ nằm trong giới hạn từ -128 đến 127 thì loại dữ liệu Byte sẽ là lựa chọn tốt hơn từ phối cảnh bộ nhớ.

3 - Int

Phạm vi của kiểu dữ liệu Int là -231 đến 231-1

fun main(args : Array) {
    val num: Int = 123456
    println("$num")
}

OUTPUT:

123456

Lưu ý: Nếu bạn không chỉ định rõ ràng loại biến thì trình biên dịch sẽ coi biến đó là Int, nếu giá trị nằm trong khoảng từ -231 đến 231-1

4 - Long

Phạm vi của kiểu dữ liệu dài là -263 đến 263-1

fun main(args : Array) {
    val num: Long = 12345678
    println("$num")
}

OUTPUT:

12346678

Lưu ý: Nếu bạn không chỉ định rõ ràng loại biến thì trình biên dịch sẽ coi biến đó là Long, nếu giá trị nằm ngoài phạm vi từ -231 đến 231-1 nhưng nằm trong phạm vi từ -263 đến 263-1

5 - Double

fun main(args : Array) {
    // all floating numbers are double by default
    // unless you suffix the value with F letter
    val num = 101.99
    println("$num")
}

OUTPUT

101.99

6 - Float

fun main(args : Array) {
    // This is a float data type as we have suffixed
    // the value with letter 'F'
    val num = 101.99F
    println("$num")
}

OUTPUT:

101.99

7 - Boolean

Giá trị của biến boolean là đúng hoặc sai.

fun main(args : Array) {
    val boolValue = false
    println("$boolValue")
}

OUTPUT:

false

8 - Char

Tất cả các bảng chữ cái tiếng Anh (chữ thường hoặc chữ hoa) được bao gồm trong kiểu dữ liệu Char. Bạn không thể gán số cho biến kiểu dữ liệu Char.

fun main(args : Array) {
    val ch = 'A'
    println("$ch")

    val ch2: Char
    ch2 = 'Z'
    println("$ch2")
}

OUTPUT:

A
Z

Cùng chuyên mục:

Hàm Lambda trong Kotlin

Hàm Lambda trong Kotlin

Hàm Lambda còn được gọi là hàm ẩn danh vì nó không có tên.

Tham số function trong Kotlin

Tham số function trong Kotlin

Trong bài viết này chúng ta sẽ tìm hiểu tham số mặc định và cách…

Đệ quy trong Kotlin

Đệ quy trong Kotlin

Ở bài trước chúng ta đã học xong cách tạo function, vậy thì trong bài…

Function trong Kotlin

Function trong Kotlin

Trong bài này chúng ta sẽ học một khái niệm mới, đó là function trong…

Lệnh break trong Kotlin

Lệnh break trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu lệnh break trong Kotlin

Lệnh continue trong Kotlin

Lệnh continue trong Kotlin

Trong bài này chúng ta sẽ học lệnh continue trong Kotlin,

Vòng lặp do-while trong Kotlin

Vòng lặp do-while trong Kotlin

Vòng lặp While trong Kotlin

Vòng lặp While trong Kotlin

Vòng lặp For trong Kotlin

Vòng lặp For trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu về vòng lặp For

Lệnh When trong Kotlin

Lệnh When trong Kotlin

Trong bài này chúng ta sẽ học lệnh When trong Kotlin

Lệnh if .. else trong Kotlin

Lệnh if .. else trong Kotlin

Trong bất kỳ ngôn ngữ lập trình nào, chúng ta cần các câu lệnh điều…

Ranges trong Kotlin

Ranges trong Kotlin

Trong bài viết này, chúng ta sẽ tìm hiểu về tính năng rất hay của…

Mảng (Array) trong Kotlin

Mảng (Array) trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu một kiểu dữ liệu rất quan trọng…

Thao tác với chuỗi trong Kotlin

Thao tác với chuỗi trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu cách khai báo và xử lý chuỗi…

Ghi chú (comment) trong Kotlin

Ghi chú (comment) trong Kotlin

Toán tử Kotlin – Arithmetic, Assignment, Unary, Logical

Toán tử Kotlin – Arithmetic, Assignment, Unary, Logical

Trong bài này, ta sẽ tìm hiểu các loại toán tử có sẵn trong Kotlin…

Kotlin - Lấy dữ liệu bằng hàm readLine()

Kotlin - Lấy dữ liệu bằng hàm readLine()

Trong bài viết này, chúng ta sẽ xem cách lấy Input(đầu vào) từ người dùng(User)…

Kotlin - Type Casting - chuyển đổi kiểu dữ liệu

Kotlin - Type Casting - chuyển đổi kiểu dữ liệu

Type Casting là quá trình chuyển đổi từ loại dữ liệu sang loại dữ liệu…

Kotlin Keywords, Soft Keywords và Identifiers

Kotlin Keywords, Soft Keywords và Identifiers

Có một số từ nhất định trong Kotlin có ý nghĩa đặc biệt và không…

Chương trình Kotlin đầu tiên - Hello world

Chương trình Kotlin đầu tiên - Hello world

Chúng ta hãy cũng viết một chương trình Kotlin đơn giản để hiển thị thông…

Top