Ngôn ngữ Kotlin cơ bản – Phần 2

Đây là phần hai trong loạt bài hướng dẫn về ngôn ngữ lập trình Kotlin cơ bản. Tôi không dài dòng nữa, chúng ta bắt đầu luôn nhé.

Câu lệnh if, else

Lại không cần tôi phải giải thích nhiều nữa, nó hoàn toàn giống với Java. Thôi thì cũng lấy một ví dụ cho trực quan:

var a: Int = 3
var b: Int = 5
if (a > b)
   Log.d("Kotlin", a)
else 
   Log.d("Kotlin", b)

Rất giống Java đúng không bạn. Nhưng mà nó có cái khác đấy, khác ở phần liên quan đến khái niệm Ternary Operator. Trong Kotlin bạn hoàn toàn có thể code như sau nhé.

var a: Int = 3
var b: Int = 5
var c = if (a > b) a else b
Log.d("Kotlin", c)

Câu lệnh when

Bạn thấy có gì lạ lạ khi nghe tên rồi phải không? Câu lệnh when này nghe mới nhỉ? Chính xác đó là cú pháp của Kotlin, cách hoạt động của nó thì lại giống với câu lệnh switch trong Java. Tuy nhiên nó vẫn có nhiều điểm khác đó. Switch trong Java chỉ sử dụng với kiểu dữ liệu số chẳng hạn, còn when trong Kotlin lại sử dụng cả được cho kiểu dữ liệu chuỗi. Và nó còn một vài điểm hoạt động khác nữa. Tôi lấy ví dụ code trực quan luôn bạn sẽ thấy nó khác điểm nào ngay.

var name: String = "A"
when (name) {
   "A" -> Log.d("Kotlin", "Hello A")
   "B" -> Log.d("Kotlin", "Hello B")
   else -> Log.d("Kotlin", "Hello there")
}

Bạn thấy đấy, Kotlin sử dụng when cho cả dữ liệu String. Một điểm khác nữa là cú pháp cũng khác so với switch, bạn hãy làm quen dần nhé. Còn với dữ liệu số nguyên chẳng hạn, when còn bắt được trường hợp trong khoảng giá trị nữa đó. Mời bạn xem ví dụ.

var number: Int = 2
when (number) {
   1,2,3,4 -> Log.d("Kotlin", "Truong hop 1")
   in 5..9 -> Log.d("Kotlin", "Truong hop 2")
   else -> Log.d("Kotlin", "Truong hop con lai")
}

Bạn hãy thử tự thay đổi giá trị trong các ví dụ trên để hiểu rõ hơn cách hoạt động của câu lệnh when nhé.

Vòng lặp

Chúng ta có vòng lặp for và while, do/while trong Java thì trong Kotlin cũng sử dụng các vòng lặp này. Vòng lặp while, do/while thì Kotlin không khác gì Java nên tôi không đề cập đến. Tôi sẽ chỉ nói về vòng lặp for thôi. Cú pháp của nó có thay đổi một chút. Vào ví dụ luôn, và tôi cũng giải thích trong phần comment kèm theo code luôn nhé.

var loopNumber = 5
// Lap tu i = 1 den i = loopNumber
for (i in 1..loopNumber) {
    Log.d("Vi du 1", "Vong lap lan thu " + i)
}

// Lap tu i = 1 den i < loopNumber
for (i in 1 until loopNumber) {
    Log.d("Vi du 2", "Vong lap lan thu " + i)
}

// Lap tu i = loopNumber xuong i = 0
for (i in loopNumber downTo 0) {
   Log.d("Vi du 3", "Vong lap lan thu " + i)
}

Gọn hơn tương đối so với Java rồi. Còn 1 điểm nữa, thông thường vòng for sẽ tự tăng giá trị của i lên 1. Trong Kotlin bạn hoàn toàn có thể kiểm soát được bước tăng của i. Mời xem ví dụ sau:

var loopNumber = 10
// Lap tu i = 1 den i = loopNumber voi step = 2
for (i in 1..loopNumber step 2) {
   Log.d("Kotlin", "Gia tri cua i = " + i)
}

Class và function

Cuối cùng tôi sẽ nói về class và function trong Kotlin. Mời bạn lại xem ví dụ rồi tôi sẽ giải thích nhé.

open class Person(var name: String, var gender: String)

class Student(name: String, gender: String, var birth: String) : Person(name, gender) {
   fun sayHelloToOther(otherName: String) {
      Log.d("Student", name + " Hello " + otherName)
   }

   fun intro(): String {
      return "Hello, I am " + name + ". I was born in " + birth
   }
}

Trong ví dụ bạn có thể thấy tôi có 2 class Person và Student. Class Student thừa kế class Person. Để thừa kế class khác chỉ cần dùng dấu hai chấm như khai báo biến vậy. Và để Student thừa kế được Person thì class Person phải thêm từ khoá open. Bạn cũng có thể thấy việc define 1 class rất gọn gàng phải không? Chỉ cần 1 dòng lệnh là tôi đã define được class Person rồi.

Còn về function, nhìn vào ví dụ tôi sử dụng từ khoá fun để khai báo 1 hàm, tiếp sau đó là tên hàm, các tham số nếu có, kiểu giá trị trả về của hàm được đặt sau dấu hai chấm, còn nếu không cần giá trị trả về bạn có thể bỏ qua. Cũng rất đơn giản phải không.

Ban đầu bạn sẽ chưa thể nhớ hết cú pháp khi sử dụng Kotlin trong việc xây dựng ứng dụng riêng của mình. Nhưng tôi tin chắc khi bạn đã quen bạn sẽ yêu thích vì sự ngắn gọn, đơn giản của nó. Đặc biệt Kotlin còn hỗ trợ Functional Programming. Loạt bài này tôi chưa đề cập đến, hãy cùng theo dõi ở những bài sau nhé.

Lời kết

Vậy là đã xong 2 bài hướng dẫn cơ bản nhất về Kotlin. Hi vọng sau 2 bài này các bạn sẽ có được những hiểu biết cơ bản về Kotlin. Cùng với những kinh nghiệm đã có về Java khi lập trình Android tôi tin rằng bạn hoàn toàn tự tin sử dụng Kotlin xây dựng cho mình những ứng dụng tuyệt vời rồi.
Chúc các bạn vui vẻ.

Add a Comment

Scroll Up