首页 > 其他分享 >Android-Kotlin-函数表达式&String与int转换$异常处理

Android-Kotlin-函数表达式&String与int转换$异常处理

时间:2023-06-22 14:36:43浏览次数:42  
标签:String int Kotlin var Int number2 number1 println Android


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

执行结果:

Android-Kotlin-函数表达式&String与int转换$异常处理_异常处理



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的

Android-Kotlin-函数表达式&String与int转换$异常处理_异常处理_02


输入 1 和 AAA 在代码中把AAA转Int时,会引发异常:

Android-Kotlin-函数表达式&String与int转换$异常处理_android_03


以上代码没有对异常处理,以下代码将对异常处理:

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

}

执行结果:

Android-Kotlin-函数表达式&String与int转换$异常处理_异常处理_04


Android-Kotlin-函数表达式&String与int转换$异常处理_异常处理_05


标签:String,int,Kotlin,var,Int,number2,number1,println,Android
From: https://blog.51cto.com/u_16163510/6534857

相关文章

  • Android-kotlin-接口与多态的表现
    上一篇博客介绍了Android-Kotlin-抽象类与多态的表现;而这一篇博客专门介绍下接口与多态的表现1.选择包名,然后右键:2.选择Class类型,会有class:3.选择File类型,不会自动有class:5.选择interface,是创建接口:6.目录结构:1.定义手机充电接口标准规范InterfacePhone:packagecn.kotlin.kot......
  • Android Xml文件生成,Xml数据格式写入
    生成xml文件格式数据,Android提供了Xml.newSerializer();,可以理解为Xml序列化;序列化:把内存里面的数据(file,databases,xml等等)丢给某一个地方; 反序列化:把某个地方的数据(file,databases,xml等等),拿到内存中;既然是Android操作Xml,就用Android所提供的API,不用Java所提供的API,DOM......
  • Android-Kotlin-When&类型推断
    Kotlin的when表达式TextEngine描述文字处理对象:packagecn.kotlin.kotlin_base02/***描述文字处理对象**valtextContent传入进来的文字内容val是常量*/classTextEngine(valtextContent:String){/***处理文字,然后返回*返回完整的字符串......
  • Android-kotlin的继承
    上一篇博客讲了Android-kotlin的配置/入门,然后简单的实现了一个计算器功能。今天我们来讲讲kotlin中的继承是怎样的。1.先看一个案例,子类使用到父类的资源【案例一】父类张翠山:packagecn.kotlin.kotlin_oop03/***描述父对象:张翠山**personDescribe此人的简介/var......
  • Service内核原理(二):自带工程线的IntentService
    为什么要使用IntentService:IntentServiceisabaseclassfor{@linkService}sthathandleasynchronous*requests(expressedas{@linkIntent}s)ondemand.Clientssendrequests*through{@linkandroid.content.Context#startService(Intent)}calls;the*serviceis......
  • Android-kotlin-具名参数
    先看一个这样的案例,【案例一】:packagecn.kotlin.kotlin_base05funshowAction1(country:String,volk:String){println("我的祖国是${country},我的民族是$volk")}funshowAction2(country:String,volk:String){println("我的祖国是${country},我的民族是......
  • 万事俱备面饿了么Android!面完哭了呜呜呜,还是美团香!
    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。最近跟一个朋友聊天,他漫不经心地复习了几个月,就去参加了饿了么面试,第二面结束后,嗯,挂了…当天怒清购物车,卸载饿死了么。下面是他回忆整理的凉经:一面(全都会)1.点击图标,应用打......
  • Android-Kotlin-区间与FOR&LIST&MAP简单使用
    区间与for:packagecn.kotlin.kotlin_base04/***区间与for*/funmain(args:Array<String>){/***Kotlin中提供了区间,例如:存入1到100,在Java中可能要写多行代码,而在Kotlin中很简单,代码如下*1..100*/varnumbers=1..100/***......
  • Android-Kotlin-递归与尾递归
    递归:阶乘计算:/***阶乘:*1的阶乘是1,因为1往下走一个楼梯就是0了*2的阶乘是2*1*3的继承是3*2*1*4的继承是4*3*2*1*5的阶乘是5*4*2*1*/packagecn.kotlin.kotlin_base06......
  • Android-引导用户指纹录入
    根据不同的手机,跳转到指纹录入界面,如果没有检测到手机的品牌,就提醒用户手动去指纹录入:首先描述手机信息检测对象,PhoneInfoCheck.java:packagecom.esandinfo;importandroid.app.AlertDialog;importandroid.content.ComponentName;importandroid.content.Context;importandr......