国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

Kotlin 備忘清單

Kotlin 備忘清單是 Kotlin 編程語言的單頁參考表

Kotlin 簡介

main() 函數(shù)

fun main() {
  // Code goes here
}

main() 函數(shù)是每個(gè) Kotlin 程序的起點(diǎn),在執(zhí)行之前必須包含在代碼中

打印聲明

println("Greetings, earthling!")
print("Take me to ")
print("your leader.")

/* 
打印:
Greetings, earthling!
Take me to your leader.
*/

注釋

// 這是單行注釋

/*
這個(gè)
注釋
用于
*/

執(zhí)行順序

fun main() {
  println("I will be printed first.")
  println("I will be printed second.")
  println("I will be printed third.")
}

數(shù)據(jù)類型和變量

可變變量

var age = 25
age = 26  

不可變變量

val goldenRatio = 1.618

類型推斷

// 以下變量在雙引號(hào)內(nèi)分配了一個(gè)文本值
// 因此推斷的類型是 String

var color = "Purple" 

字符串連接

var streetAddress = "123 Main St."
var cityState = "Brooklyn, NY" 

println(streetAddress + " " + cityState) 
// 打印: 123 Main St. Brooklyn, NY 

字符串模板

var address = "123 Main St."
println("The address is $address") 
// 打印: The address is 123 Main St.

內(nèi)置屬性和函數(shù)

var monument = "the Statue of Liberty"

println(monument.capitalize())
// 打印: The Statue of Liberty
println(monument.length)
// 打印: 21

字符轉(zhuǎn)義序列

print("\"Excellent!\" I cried. \"Elementary,\" said he.") 

// 打印: "Excellent!" I cried. "Elementary," said he.  
  • \n 插入新行
  • \t 插入標(biāo)簽
  • \r 插入回車
  • \' 插入單引號(hào)
  • \" 插入雙引號(hào)
  • \\ 插入反斜杠
  • \$ 插入美元符號(hào)

算術(shù)運(yùn)算符

5 + 7  // 12
9 - 2  // 7
8 * 4  // 32
25 / 5 // 5 
31 % 2 // 1 

+ 加法、- 減法、* 乘法、/ 除法和 % 模數(shù)

操作順序

5 + 8 * 2 / 4 - 3 // 6 
3 + (4 + 4) / 2   // 7
4 * 2 + 1 * 7     // 15
3 + 18 / 2 * 1    // 12  
6 - 3 % 2 + 2     // 7   

增強(qiáng)賦值運(yùn)算符

var batteryPercentage = 80

// 長語法
batteryPercentage = batteryPercantage + 10 

// 帶有增廣賦值運(yùn)算符的短句法
batteryPercentage += 10 

遞增和遞減運(yùn)算符

var year = 2019 
year++ // 2020
year-- // 2019 

數(shù)學(xué)庫

Math.pow(2.0, 3.0)  // 8.0
Math.min(6, 9)      // 6 
Math.max(10, 12)    // 12
Math.round(13.7)    // 14

條件表達(dá)式

if 表達(dá)式

var morning = true

if (morning) {
  println("Rise and shine!")
}
// 打印: Rise and shine!

else 表達(dá)式

var rained = false

if (rained) {
  println("今天不需要給植物澆水。")
} else {
  println("植物需要澆水!")
}
// 打印: 植物需要澆水!

Else-If 表達(dá)式

var age = 65

if (age < 18 ) {
  println("您被視為未成年人")
} else if (age < 60) {
  println("您被視為成年人")
} else {
  println("你被認(rèn)為是高級(jí)")
}

// 打印: 你被認(rèn)為是高級(jí)

比較運(yùn)算符

var myAge = 19
var sisterAge = 11
var cousinAge = 11

myAge > sisterAge  // true
myAge < cousinAge  // false
myAge >= cousinAge // true
myAge <= sisterAge // false

邏輯運(yùn)算符

var humid = true
var raining = true
var jacket = false

println(!humid)
// 打印: false
println(jacket && raining)
// 打印: true
println(humid || raining)
// 打印: true

AND 運(yùn)算符: &&

var humid = true
var raining = true
var shorts = false
var sunny = false

// true AND true
println(humid && raining) //  true
// true AND false
println(humid && shorts)  //  false
// false AND true
println(sunny && raining) //  false
// false AND false
println(shorts && sunny)  // false

或運(yùn)算符:||

var late = true
var skipBreakfast = true
var underslept = false
var checkEmails = false

// true OR true
println(skipBreakfast || late) //  true
// true OR false
println(late || checkEmails) //  true
// false OR true
println(underslept || late) //  true
// false OR false
println(checkEmails || underslept) // false

NOT 運(yùn)算符

var hungry = true
var full = false

println(!hungry) //  false
println(!full) //  true

評估順序

!true && (false || true) // false
/*
(false || true) 被評估首先返回 true。
然后,評估 !true && true 并返回最終結(jié)果 false
*/

!false && true || false // true
/*
!false 被評估首先返回 true。 
然后評估 true && true,返回 true。
那么,真|| 評估 false 最終返回 true
*/

嵌套條件

var studied = true
var wellRested = true

if (wellRested) {
  println("祝你今天好運(yùn)!")
  if (studied) {
    println("你應(yīng)該為考試做好準(zhǔn)備!")
  } else {
    println("考試前花幾個(gè)小時(shí)學(xué)習(xí)!")
  }
}

// 打印: 祝你今天好運(yùn)!
// 打印: 你應(yīng)該為考試做好準(zhǔn)備!

當(dāng)表達(dá)式

var grade = "A"

when(grade) {
  "A" -> println("很棒的工作!")
  "B" -> println("做得太好了!")
  "C" -> println("你通過了!")
  else -> println("關(guān)!下次一定要多準(zhǔn)備!")
}
// 打印: 很棒的工作!

范圍運(yùn)算符

var height = 46 // inches

if (height in 1..53) {
  println("抱歉,您必須至少 54 英寸才能乘坐過山車")
}
// Prints: 抱歉,您必須至少 54 英寸才能乘坐過山車

等式運(yùn)算符

var myAge = 22
var sisterAge = 21

myAge == sisterAge // false
myAge !== sisterAge // true

Collections

不可變列表

var programmingLanguages = listOf("C#", "Java", "Kotlin", "Ruby") 

可變列表

var fruits = mutableListOf("Orange", "Apple", "Banana", "Mango") 

訪問列表元素

var cars = listOf("BMW", "Ferrari", "Volvo", "Tesla")

println(cars[2]) // Prints: Volvo

大小屬性

var worldContinents = listOf("Asia", "Africa", "North America", "South America", "Antarctica", "Europe", "Australia")

println(worldContinents.size) // Prints: 7

列表操作

var seas = listOf("Black Sea", "Caribbean Sea", "North Sea") 
println(seas.contains("North Sea")) // Prints: true

// contains() 函數(shù)對任何列表執(zhí)行讀取操作并確定元素是否存在
seas.add("Baltic Sea") // 錯(cuò)誤:無法對不可變列表執(zhí)行寫操作
// add() 函數(shù)只能在可變列表上調(diào)用,因此上面的代碼會(huì)引發(fā)錯(cuò)誤

不可變集

var primaryColors = setOf("Red", "Blue", "Yellow")

可變集

var womenInTech = mutableSetOf("Ada Lovelace",  "Grace Hopper",  "Radia Perlman",  "Sister Mary Kenneth Keller")

訪問集合元素

var companies = setOf("Facebook", "Apple", "Netflix", "Google")

println(companies.elementAt(3))
// Prints: Google
println(companies.elementAt(4))
// Returns and Error
println(companies.elementAtOrNull(4))
// Prints: null

不可變映射

var averageTemp = mapOf("winter" to 35,  "spring" to 60,  "summer" to 85, "fall" to 55)

可變映射

var europeanDomains = mutableMapOf("Germany" to "de", "Slovakia" to "sk", "Hungary" to "hu", "Norway" to "no")

檢索映射鍵和值

var oscarWinners = mutableMapOf("Parasite" to "Bong Joon-ho", "Green Book" to "Jim Burke", "The Shape Of Water" to "Guillermo del Toro")

println(oscarWinners.keys)
// Prints: [Parasite, Green Book, The Shape Of Water]

println(oscarWinners.values)
// Prints: [Bong Joon-ho, Jim Burke, Guillermo del Toro]

println(oscarWinners["Parasite"])
// Prints: Bong Joon-ho

添加和刪除地圖條目

var worldCapitals = mutableMapOf("United States" to "Washington D.C.", "Germany" to "Berlin", "Mexico" to "Mexico City", "France" to "Paris")

worldCapitals.put("Brazil", "Brasilia")
println(worldCapitals)
// Prints: {United States=Washington D.C., Germany=Berlin, Mexico=Mexico City, France=Paris, Brazil=Brasilia}

worldCapitals.remove("Germany")
println(worldCapitals)
// Prints: {United States=Washington D.C., Mexico=Mexico City, France=Paris, Brazil=Brasilia}

函數(shù)

函數(shù)

fun greet() {
  println("Hey there!")
}

fun main() {
  // Function call
  greet() // Prints: Hey there!
}

函數(shù)參數(shù)

fun birthday(name: String, age: Int) {
   println("Happy birthday $name! You turn $age today!")
}

fun main() {
  birthday("Oscar", 26) 
  // Prints: Happy birthday Oscar! You turn 25 today!
  birthday("Amarah", 30) 
  // Prints: Happy birthday Amarah! You turn 30 today!
}

默認(rèn)參數(shù)

fun favoriteLanguage(name, language = "Kotlin") {
  println("Hello, $name. Your favorite programming language is $language")  
}

fun main() {
  favoriteLanguage("Manon") 
  // Prints: Hello, Manon. Your favorite programming language is Kotlin
  
  favoriteLanguage("Lee", "Java") 
  // Prints: Hello, Lee. Your favorite programming language is Java
}

命名參數(shù)

fun findMyAge(currentYear: Int, birthYear: Int) {
   var myAge = currentYear - birthYear
   println("I am $myAge years old.")
}

fun main() {
  findMyAge(currentYear = 2020, birthYear = 1995)
  // Prints: I am 25 years old.
  findMyAge(birthYear = 1920, currentYear = 2020)
  // Prints: I am 100 years old.
}

返回聲明

// Return type is declared outside the parentheses
fun getArea(length: Int, width: Int): Int {
  var area = length * width

  // return statement
  return area
}

fun main() {
  var myArea = getArea(10, 8)
  println("The area is $myArea.")
  // Prints: The area is 80.
}

單表達(dá)式函數(shù)

fun fullName(firstName: String, lastName: String) = "$firstName $lastName"

fun main() {
  println(fullName("Ariana", "Ortega")) 
  // Prints: Ariana Ortega
  println(fullName("Kai", "Gittens")) 
  // Prints: Kai Gittens
}

函數(shù)字面量

fun main() {
  // Anonymous Function:
  var getProduct = fun(num1: Int, num2: Int): Int {
     return num1 * num2
  }
  println(getProduct(8, 3)) 
  // Prints: 24

  // Lambda Expression
  var getDifference = { num1: Int, num2: Int -> num1 - num2 }
  println(getDifference(10, 3))
  // Prints: 7
}

類示例

// 具有包含默認(rèn)值的屬性的類
class Student {
  var name = "Lucia"
  var semester = "Fall"
  var gpa = 3.95
}

// 沒有類體的簡寫語法
class Student 

類實(shí)例

// Class
class Student {
  var name = "Lucia"
  var semester = "Fall"
  var gpa = 3.95
}

fun main() {
  var student = Student()   
  // Instance
  println(student.name)     
  // Prints: Lucia
  println(student.semester) 
  // Prints: Fall
  println(student.gpa)      
  // Prints: 3.95  
} 

主構(gòu)造函數(shù)

class Student(val name: String, val gpa: Double, val semester: String, val estimatedGraduationYear: Int) 

fun main() {
  var student = Student("Lucia", 3.95, "Fall", 2022) 
  println(student.name)     
  // Prints: Lucia
  println(student.gpa)      
  // Prints: 3.95
  println(student.semester) 
  // Prints: Fall
  println(student.estimatedGraduationYear) 
  // Prints: 2022
}

初始化塊

class Student(val name: String, val gpa: Double, val semester: String, val estimatedGraduationYear: Int) {
  init {
    println("$name has ${estimatedGraduationYear - 2020} years left in college.")
  }
}

fun main() {
  var student = Student("Lucia", 3.95, "Fall", 2022)
  // Prints: Lucia has 2 years left in college. 
}

成員函數(shù)

class Student(val name: String, val gpa: Double, val semester: String, val estimatedGraduationYear: Int) {

  init {
    println("$name has ${estimatedGraduationYear - 2020} years left in college.")
  }

  // 成員函數(shù)
  fun calculateLetterGrade(): String {
    return when {
      gpa >= 3.0 -> "A"
      gpa >= 2.7 -> "B"
      gpa >= 1.7 -> "C"
      gpa >= 1.0 -> "D"
      else -> "E"
    }
  }
}

// 創(chuàng)建實(shí)例并調(diào)用函數(shù)時(shí),將執(zhí)行 when 表達(dá)式并返回字母等級(jí)
fun main() {
  var student = Student("Lucia", 3.95, "Fall", 2022) 
  // Prints: Lucia has 2 years left in college. 
  println("${student.name}'s letter grade is ${student.calculateLetterGrade()}.") 
  // Prints: Lucia's letter grade is A. 
}

另見