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")

}

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

}

执行结果:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值