Kotlin的函數表達式:
package cn.kotlin.kotlin_base03 /** * 函數第一種寫法 */ fun addMethod1(number1: Int, number2: Int) : Int { return number1 + number2 } /** * 函數第二個種寫法 */ fun addMethod2(number1: Int, number2: Int) = number1 + number2 /** * 函數表達式 */ fun main(args: Array<String>) { println(addMethod1(1, 1)) println(addMethod2(2, 2)) /** * 函數第三種寫法 */ var addMethod3 = {number1: Int, number2: Int -> number1 + number2} // 注意:addMethod3看起來是一個變量,實際上是方法 addMethod3(3, 3) println(addMethod3(3, 3)) /** * 函數第四種寫法 * addMethod4 : (參數的類型) -> 返回的類型 = {參數變量名 -> 返回值} * addMethod4 : (Int, Int) -> Int = { number1, number2 -> number1 + number2 } */ var addMethod4 : (Int, Int) -> Int = { number1, number2 -> number1 + number2 } // 注意:addMethod4看起來是一個變量,實際上是方法 addMethod4(4, 4) println(addMethod4(4, 4)) }
執行結果:
Kotlin種的 String與Int之間的轉換:
package cn.kotlin.kotlin_base03 /** * String與Int之間的轉換 */ fun main(args: Array<String>) { // 定義一個整形變量 var number1 = 12345 // 定義一個字符串變量 var string1 = "9876" // Int整形 轉> String字符串 string1 = number1.toString() println("string1:$string1") // String字符串 轉> Int整形 number1 = string1.toInt() println("number1:$number1") // ---------------------------- println("-------------------------") // 定義一個整形變量 var numberA1: Int = 999999 // 定義一個字符串變量 var stringA1: String = "888888" // Int整形 轉> String字符串 stringA1 = "070797".toString() println("stringA1:$stringA1") // String字符串 轉> Int整形 numberA1 = 161616166.toInt() println("numberA1:$numberA1") }
執行結果:
Kotlin的異常處理:
package cn.kotlin.kotlin_base03 /** * 異常處理 */ fun main(args: Array<String>) { println("請輸入第一個整數...") var inputNumber1 = readLine() println("請輸入第二個整數...") var inputNumber2 = readLine() /** * 把輸入的兩個整數轉 Int * inputNumber1 !! .toInt() !!代表此inputNumber1一定不為空,一定是有值的 */ var number1: Int = inputNumber1 !! .toInt() var number2: Int = inputNumber2 !! .toInt() println("$number1 相加 $number2 的結果是:${number1 + number2}") }
輸入 1 和 7 當然是OK的
輸入 1 和 AAA 在代碼中把AAA轉Int時,會引發異常:
以上代碼沒有對異常處理,以下代碼將對異常處理:
package cn.kotlin.kotlin_base03 import java.lang.Exception /** * 異常處理 */ fun main(args: Array<String>) { println("請輸入第一個整數...") var inputNumber1 = readLine() println("請輸入第二個整數...") var inputNumber2 = readLine() /** * 轉換的代碼 由於是用戶輸入的信息 可能是字符串 有可能是整形 所以需要加入異常捕獲處理 */ try { /** * 把輸入的兩個整數轉 Int * inputNumber1 !! .toInt() !!代表此inputNumber1一定不為空,一定是有值的 */ var number1: Int = inputNumber1 !! .toInt() var number2: Int = inputNumber2 !! .toInt() println("$number1 相加 $number2 的結果是:${number1 + number2}") } catch (e: Exception) { println("請輸入整形 整數,否則無法運輸") } }
執行結果: