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

    执行结果:

     

  • 相关阅读:
    WPF概述(硬件加速及分辨率无关性)
    创建自己的Code Snippet(代码模板)
    [LeetCode]46. Restore IP Addresses复原IP地址
    [LeetCode]45. Reverse Words in a String按单词翻转字符串
    [LeetCode]44. Implement strStr()实现strStr()函数
    [LeetCode]43. Integer to Roman整数转罗马数字
    [LeetCode]42. Roman to Integer罗马数字转整数
    [LeetCode]41. String to Integer(atoi)字符串转整数
    [LeetCode]40. Valid Palinadrome有效回文串
    [LeetCode]39. Longest Valid Parentheses最长有效括号对
  • 原文地址:https://www.cnblogs.com/android-deli/p/10318190.html
Copyright © 2011-2022 走看看