Biến Kotlin và các loại cơ bản

Trong hướng dẫn này, bạn sẽ tìm hiểu về các biến, cách tạo chúng và các kiểu dữ liệu cơ bản mà Kotlin hỗ trợ để tạo biến.

Như bạn đã biết, một biến là một vị trí trong bộ nhớ (vùng lưu trữ) để chứa dữ liệu.

Để chỉ ra vùng lưu trữ, mỗi biến phải được đặt một tên duy nhất (định danh). Tìm hiểu thêm về Cách đặt tên biến trong Kotlin?

Làm thế nào để khai báo một biến trong Kotlin?

Để khai báo một biến trong Kotlin, một trong hai varhoặc valtừ khóa được sử dụng. Đây là một ví dụ:

 var language = "French" val score = 95

Sự khác biệt trong việc sử dụng var và val sẽ được thảo luận ở phần sau của bài viết. Bây giờ, hãy tập trung vào khai báo biến.

Ở đây, ngôn ngữ là một biến kiểu String, và scorelà một biến kiểu Int. Bạn không phải chỉ định loại biến; Kotlin ngầm làm điều đó cho bạn. Trình biên dịch biết điều này bằng biểu thức khởi tạo ("French" là a Stringvà 95 là giá trị số nguyên trong chương trình trên). Đây được gọi là kiểu suy luận trong lập trình.

Tuy nhiên, bạn có thể chỉ định rõ ràng loại nếu bạn muốn:

 var language: String = "French" Điểm val: Int = 95

Chúng tôi đã khởi tạo biến trong quá trình khai báo trong các ví dụ trên. Tuy nhiên, nó không cần thiết. Bạn có thể khai báo biến và chỉ định kiểu của nó trong một câu lệnh, và khởi tạo biến trong một câu lệnh khác sau này trong chương trình.

 var language: String // khai báo biến kiểu String… language = "French" // biến khởi tạo val score: Int // khai báo biến kiểu Int… score = 95 // khởi tạo biến 

Dưới đây là một số ví dụ dẫn đến lỗi.

 var language // Lỗi ngôn ngữ = "Tiếng Pháp"

Ở đây, kiểu của biến ngôn ngữ không được chỉ định rõ ràng, cũng như biến được khởi tạo trong khi khai báo.

 var language: String language = 14 // Lỗi

Ở đây, chúng tôi đang cố gắng gán 14 (giá trị nguyên) cho biến có kiểu khác nhau ( String).

Sự khác biệt giữa var và val

  • val (Tham chiếu bất biến) - Không thể thay đổi biến được khai báo bằng valtừ khóa khi giá trị được gán. Nó tương tự như biến cuối cùng trong Java.
  • var (Tham chiếu varcó thể thay đổi ) - Biến được khai báo bằng từ khóa có thể được thay đổi sau này trong chương trình. Nó tương ứng với biến Java thông thường.

Dưới đây là một số ví dụ:

 var language = "Pháp" language = "Đức" 

Ở đây, languagebiến được gán lại cho tiếng Đức. Vì biến được khai báo bằng cách sử dụng var, mã này hoạt động hoàn hảo.

 val language = "French" language = "German" // Lỗi

Bạn không thể gán lại biến ngôn ngữ cho Germantrong ví dụ trên vì biến được khai báo bằng cách sử dụng val.

Bây giờ, bạn đã biết biến Kotlin là gì, đã đến lúc tìm hiểu các giá trị khác nhau mà biến Kotlin có thể nhận.

Các loại cơ bản của Kotlin

Kotlin là một ngôn ngữ được gõ tĩnh giống như Java. Có nghĩa là, kiểu của một biến được biết trong thời gian biên dịch. Ví dụ,

 ngôn ngữ val: Int val mark = 12,3

Ở đây, trình biên dịch biết rằng ngôn ngữ thuộc loại Intvà dấu là loại Doubletrước thời gian biên dịch.

Các loại tích hợp sẵn trong Kotlin có thể được phân loại là:

  • Số
  • Nhân vật
  • Booleans
  • Mảng

Loại số

Các số trong Kotlin tương tự như Java. Có 6 kiểu tích hợp đại diện cho số.

  • Byte
  • Ngắn
  • Int
  • Dài
  • Phao nổi
  • Gấp đôi

1. Byte

  • Kiểu Bytedữ liệu có thể có các giá trị từ -128 đến 127 (số nguyên bổ sung 8 bit có dấu của hai).
  • Nó được sử dụng thay vì Inthoặc các kiểu dữ liệu số nguyên khác để tiết kiệm bộ nhớ nếu chắc chắn rằng giá trị của một biến sẽ nằm trong (-128, 127)
  • Thí dụ:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

Khi bạn chạy chương trình, đầu ra sẽ là:

 112

2. Ngắn gọn

  • Kiểu Shortdữ liệu có thể có các giá trị từ -32768 đến 32767 (số nguyên bổ sung 16 bit có dấu của hai).
  • Nó được sử dụng thay vì các kiểu dữ liệu số nguyên khác để tiết kiệm bộ nhớ nếu chắc chắn rằng giá trị của biến sẽ nằm trong (-32768, 32767).
  • Thí dụ:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 -11245

3. Int

  • Kiểu Intdữ liệu có thể có giá trị từ đến (số nguyên bổ sung 32-bit có dấu của hai).-231231-1
  • Thí dụ:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 100000

Nếu bạn gán một số nguyên từ đến cho một biến mà không chỉ định rõ ràng kiểu của nó, thì biến đó sẽ là kiểu. Ví dụ,-231231-1Int

 fun main(args : Array) ( // score is of type Int val score = 10 println("$score") ) 

If you are using IntelliJ IDEA, you can place cursor inside the variable and press Ctrl + Shift + P to see its type.

4. Long

  • The Long data type can have values from -263 to 263-1 (64-bit signed two's complement integer).
  • Example:
 fun main(args : Array) ( val highestScore: Long = 9999 println("$highestScore") )

When you run the program, the output will be:

 9999

If you assign an integer value greater than 231-1 or less than -231 to a variable (without explicitly specifying its type), the variable will be of Long type. For example,

 val distance = 10000000000 // distance variable of type Long 

Similarly, you can use capital letter L to specify that the variable is of type Long. For example,

 val distance = 100L // distance value of type Long

5. Double

  • The Double type is a double-precision 64-bit floating point.
  • Example:
 fun main(args : Array) ( // distance is of type Double val distance = 999.5 println("$distance") ) 

When you run the program, the output will be:

 999.5

Float

  • The Float data type is a single-precision 32-bit floating point. Learn more about single precision and double precision floating point if you are interested.
  • Example:
 fun main(args : Array) ( // distance is of type Float val distance = 19.5F println("$distance") ) 

When you run the program, the output will be:

 19.5

Notice that, we have used 19.5F instead of 19.5 in the above program. It is because 19.5 is a Double literal, and you cannot assign Double value to a variable of type Float.

To tell compiler to treat 19.5 as Float, you need to use F at the end.

If you are not sure what number value a variable will be assigned in the program, you can specify it as Number type. This allows you to assign both integer and floating-point value to the variable (one at a time). For example:

 fun main(args : Array) ( var test: Number = 12.2 println("$test") test = 12 // Int smart cast from Number println("$test") test = 120L // Long smart cast from Number println("$test") ) 

When you run the program, the output will be:

 12.2 12 120

To learn more, visit: Kotlin smart casts

Char

To represent a character in Kotlin, Char types are used.

Unlike Java, Char types cannot be treated as numbers. Visit this page to learn more about Java char Type.

 fun main(args : Array) ( val letter: Char letter = 'k' println("$letter") ) 

When you run the program, the output will be:

 k 

In Java, you can do something like:

 char letter = 65;

However, the following code gives error in Kotlin.

 var letter: Char = 65 // Error

Boolean

  • The Boolean data type has two possible values, either true or false.
  • Example:
 fun main(args : Array) ( val flag = true println("$flag") )

Booleans are used in decision making statements (will be discussed in later chapter).

Kotlin Arrays

Mảng là một vùng chứa chứa dữ liệu (giá trị) của một kiểu duy nhất. Ví dụ: bạn có thể tạo một mảng có thể chứa 100 giá trị Intkiểu.

Trong Kotlin, các mảng được đại diện bởi Arraylớp. Lớp có getvà các sethàm, thuộc sizetính và một vài hàm thành viên hữu ích khác.

Để tìm hiểu chi tiết về mảng, hãy truy cập: Mảng Kotlin

Chuỗi Kotlin

Trong Kotlin, các chuỗi được đại diện bởi Stringlớp. Các ký tự chuỗi chẳng hạn như "đây là một chuỗi" được thực hiện như một thể hiện của lớp này.

Để tìm hiểu chi tiết về chuỗi, vist: Kotlin Strings

Bài đọc được đề xuất

  • Nhập chuyển đổi trong Kotlin
  • Phôi thông minh trong Kotlin
  • Kotlin loại nullable

thú vị bài viết...