zoukankan      html  css  js  c++  java
  • 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("请输入整形 整数,否则无法运输")
        }
    
    }

    执行结果:

     

  • 相关阅读:
    noi放苹果
    二分 网线主管
    hdu 1421 dp
    hdu 1087 最大上升子序列的和(dp或线段树)
    快速排序+查找
    zoj 1425 最大交叉匹配
    hdu 3501 容斥原理或欧拉函数
    hdu 4671 异面直线的距离
    hdu 3320 计算几何(三维图形几何变换)
    hdu 2857 点在直线上的投影+直线的交点
  • 原文地址:https://www.cnblogs.com/android-deli/p/10318190.html
Copyright © 2011-2022 走看看