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("请输入整形 整数,否则无法运输")
    }

}

执行结果: