控制結構
控制結構默認順序執行。
if
if (expression) statement
if (expression) {
statements
}
expression解析爲Boolean。如果表達式爲true,則將執行statement。
>>> val theQuestion = "Doctor who"
>>> val answer = "Theta Sigma"
>>> val correctAnswer = ""
>>> if (answer == correctAnswer) println("You are correct")
>>> val correctAnswer = answer
>>> if (answer == correctAnswer) println("You are correct")
You are correct
if可以做表達式使用。
fun main(args: Array<String>) {
val theQuestion = "Doctor who"
val answer = "Theta Sigma"
val correctAnswer = ""
var message = if (answer == correctAnswer) {
"You are correct"
}
else{
"Try again"
}
println(message)
val answer2 = ""
var message2 = if (answer2 == correctAnswer) "You are correct" else "Try again"
println(message2)
}
執行結果:
Try again
You are correct
類似Python,Kotlin沒有三元運算符,但if else能實現三元運算。
參考資料
- python測試開發項目實戰-目錄
- python工具書籍下載-持續更新
- python 3.7極速入門教程 - 目錄
- 討論qq羣630011153 144081101
- 原文地址
- 本文涉及的python測試開發庫 謝謝點贊!
- [本文相關海量書籍下載](https://github.com/china-testing/python-api-tesing/blob/master/books.md
- Kotlin中文英文工具書籍下載 https://www.jianshu.com/p/12b7353ca628
when
Kotlin沒有switch語句,但有類似的when語句。
import java.util.*
fun main(args: Array<String>) {
val d = Date()
val c = Calendar.getInstance()
val day = c.get(Calendar.DAY_OF_WEEK)
when (day) {
1 -> println("Sunday")
2 -> println("Monday")
3 -> println("Tuesday")
4 -> println("Wednesday")
5 -> println("Thursday")
6 -> println("Friday")
7 -> println("Saturday")
}
}
與switch語句不同,匹配後不會走到下一個分支。switch也可以做表達式使用,此時儘量記得必須補充上else。
import java.util.*
fun main(args: Array<String>) {
val d = Date()
val c = Calendar.getInstance()
val day = c.get(Calendar.DAY_OF_WEEK)
var dayOfweek = when (day) {
1 -> "Sunday"
2 -> "Monday"
3 -> "Tuesday"
4 -> "Wednesday"
else -> "Unknown"
}
print(dayOfweek)
}
更復雜的實例:
fun main(args: Array<String>) {
print("What is the answer to life? ")
var response:Int? = readLine()?.toInt()
val message = when(response){
42 -> "So long, and thanks for the all fish"
43, 44, 45 -> "either 43,44 or 45"
in 46 .. 100 -> "forty six to one hundred"
else -> "Not what I'm looking for"
}
println(message)
}
while
fun main(args: Array<String>) {
var count = 0
val finish = 5
while (count++ < finish) {
println("counter = $count")
}
}
for
Kotlin的for基本上是照搬了python。
fun main(args: Array<String>) {
val words = "The quick brown fox".split(" ")
for(word in words) {
println(word)
}
for (i in 1..10) {
println(i)
}
}
執行結果
The
quick
brown
fox
1
2
3
4
5
6
7
8
9
10