Android-Kotlin-函數表達式&String與Int轉換$異常處理


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("請輸入整形 整數,否則無法運輸")
    }

}

執行結果:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM