Sunday, March 28, 2021

Lập trình kotlin - Control flow trong kotlin

Trong chương trước chúng ta đã tìm hiểu về các loại kiểu dữ liệu khác nhau có sẵn trong lập trình Kotlin. Trong chương này, chúng ta sẽ thảo luận về control flow trong Kotlin.

If else trong kotlin

Kotlin là một ngôn ngữ chức năng do đó giống như mọi ngôn ngữ chức năng trong Kotlin “nếu” là một biểu thức, nó không phải là một từ khóa. Biểu thức “nếu” sẽ trả về một giá trị bất cứ khi nào cần thiết. Giống như các ngôn ngữ lập trình khác, khối “if-else” được sử dụng như một toán tử kiểm tra điều kiện ban đầu. Trong ví dụ sau, chúng tôi sẽ so sánh hai biến và cung cấp đầu ra cần thiết cho phù hợp

fun main(args: Array<String>) {

   val a:Int = 5

   val b:Int = 2

   var max: Int

   

   if (a > b) {

      max = a

   } else {

      max = b

   }

   print("Maximum of a or b is " +max)

 

   // As expression 

   // val max = if (a > b) a else b

}

When trong kotlin

Nếu bạn đã quen thuộc với các ngôn ngữ lập trình khác, thì bạn có thể đã nghe nói đến thuật ngữ switch, về cơ bản là một toán tử điều kiện khi nhiều điều kiện có thể được áp dụng trên một biến cụ thể. Toán tử "When" đối sánh giá trị biến với các điều kiện rẽ nhánh. Nếu nó thỏa mãn điều kiện rẽ nhánh thì nó sẽ thực hiện câu lệnh bên trong phạm vi đó. Trong ví dụ sau, chúng ta sẽ tìm hiểu thêm về “When” trong Kotlin

fun main(args: Array<String>) {

   val x:Int = 5

   when (x) {

      1 -> print("x = = 1")

      2 -> print("x = = 2")

      

      else -> { // Note the block

         print("x is neither 1 nor 2")

      }

   }

}

Trong ví dụ trên, trình biên dịch Kotlin khớp giá trị của x với các nhánh đã cho. Nếu nó không khớp với bất kỳ nhánh nào, thì nó sẽ thực thi phần khác. Thực tế, khi nào tương đương với nhiều khối if. Kotlin cung cấp một sự linh hoạt khác cho nhà phát triển, nơi nhà phát triển có thể cung cấp nhiều séc trong cùng một dòng bằng cách cung cấp “,” bên trong các séc. Hãy để chúng tôi sửa đổi ví dụ trên như sau.

fun main(args: Array<String>) {

   val x:Int = 5

   when (x) {

      1,2 -> print(" Value of X either 1,2")

      

      else -> { // Note the block

         print("x is neither 1 nor 2")

      }

   }

}

For loop trong kotlin

Vòng lặp là một phát minh cung cấp sự linh hoạt để lặp qua bất kỳ loại cấu trúc dữ liệu nào. Giống như các ngôn ngữ lập trình khác, Kotlin cũng cung cấp nhiều loại phương pháp Looping, tuy nhiên, trong số đó “For” là phương pháp thành công nhất. Việc triển khai và sử dụng vòng lặp For về mặt khái niệm tương tự như vòng lặp for trong Java. Ví dụ sau đây cho thấy cách chúng ta có thể sử dụng tương tự trong các ví dụ thực tế.

fun main(args: Array<String>) {

   val items = listOf(1, 2, 3, 4)

   for (i in items) println("values of the array"+i)

}

Sau đây là một ví dụ khác về mã, nơi chúng tôi đang sử dụng một số hàm thư viện để làm cho công việc phát triển của chúng tôi dễ dàng hơn bao giờ hết.

fun main(args: Array<String>) {

   val items = listOf(1, 22, 83, 4)

   

   for ((index, value) in items.withIndex()) {

      println("the element at $index is $value")

   }

}

While Loop and Do-While Loop

While và Do-While hoạt động chính xác theo cách tương tự như chúng làm trong các ngôn ngữ lập trình khác. Sự khác biệt duy nhất giữa hai vòng lặp này là, trong trường hợp của vòng lặp Do-while, điều kiện sẽ được kiểm tra ở cuối vòng lặp. Ví dụ sau đây cho thấy cách sử dụng của vòng lặp While.

fun main(args: Array<String>) {

   var x:Int = 0

   println("Example of While Loop--")

   

   while(x< = 10) {

      println(x)

      x++

   } 

}

Kotlin cũng có một vòng lặp khác gọi là vòng lặp Do-While, trong đó phần thân của vòng lặp sẽ được thực thi một lần, chỉ khi đó điều kiện mới được kiểm tra. Ví dụ sau đây cho thấy cách sử dụng của vòng lặp Do-while.

fun main(args: Array<String>) {

   var x:Int = 0

   do {

      x = x + 10

      println("I am inside Do block---"+x)

   } while(x <= 50)

}

Return, Break, Continue trong kotlin

Nếu bạn đã quen thuộc với bất kỳ ngôn ngữ lập trình nào, thì bạn phải có ý tưởng về các từ khóa khác nhau giúp chúng tôi triển khai luồng kiểm soát tốt trong ứng dụng. Sau đây là các từ khóa khác nhau có thể được sử dụng để điều khiển các vòng lặp hoặc bất kỳ loại luồng điều khiển nào khác.

Control flow trong kotlin

Return - Return là một từ khóa trả về một số giá trị cho hàm đang gọi từ hàm được gọi. Trong ví dụ sau, chúng tôi sẽ thực hiện kịch bản này bằng cách sử dụng nền tảng mã hóa Kotlin của chúng tôi.

fun main(args: Array<String>) {

   var x:Int = 10

   println("The value of X is--"+doubleMe(x))

}

fun doubleMe(x:Int):Int {

   return 2*x;

}

Continue & Break - Tiếp tục và ngắt quãng là phần quan trọng nhất của một bài toán logic. Từ khóa "break" chấm dứt luồng bộ điều khiển nếu một số điều kiện không thành công và "tiếp tục" làm ngược lại. Tất cả hoạt động này xảy ra với khả năng hiển thị ngay lập tức. Kotlin thông minh hơn các ngôn ngữ lập trình khác, trong đó nhà phát triển có thể áp dụng nhiều nhãn làm khả năng hiển thị. Đoạn mã sau đây cho thấy cách chúng tôi triển khai nhãn này trong Kotlin.

fun main(args: Array<String>) {

   println("Example of Break and Continue")

   myLabel@ for(x in 1..10) { // appling the custom label

      if(x = = 5) {

         println("I am inside if block with value"+x+"\n-- hence it will close the operation")

         break@myLabel //specifing the label

      } else {

         println("I am inside else block with value"+x)

         continue@myLabel

      }

   }

}

No comments:

Post a Comment