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

执行结果:

Android-Kotlin-函数表达式&String与Int转换$异常处理的更多相关文章

  1. C++有没有string转化int的函数,怎样转换

    有两种方法1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib>#include <string> std::st ...

  2. C字符串和C++中string的区别 &&&&C++中int型与string型互相转换

    在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别:   C字符串 string对象(C++) 所需的头文件名称 ...

  3. Go语言string,int,int64 ,float转换

    (1)int转string s := strconv.Itoa(i)等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string i := int64 ...

  4. golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

    golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...

  5. Kotlin函数与Lambda表达式深入

    Kotlin函数: 关于Kotlin函数在之前也一直在用,用fun来声明,回忆下: 下面再来整体对Kotlin的函数进行一个学习. 默认参数(default arguments): 先来定义一个函数: ...

  6. kotlin函数和函数式表达式

    这次的写法可能有些怪异,但是如果熟悉java8的Lambda表达式的话其实理解起来很顺其自然[参考博客:http://www.cnblogs.com/webor2006/p/7705130.html] ...

  7. C++ string与int的互相转换

    原文地址 C++本身就提供了字符串与整型数之间的互换,那就是利用stringstream.下面是使用方法: 核心: 利用C++中的stringstream流. 由于使用过程比较简单就不再赘述,直接给出 ...

  8. String与Int类型的转换

    http://blog.sina.com.cn/s/blog_4f9d6b1001000bfo.html int -> String int i=12345; String s="&q ...

  9. string int 转换

    int转stringint n = 0;std::stringstream ss;std::string str;ss<<n;ss>>str;string转intstd::st ...

随机推荐

  1. Linux下通过brctl配置网桥

    什么是网桥 网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备. 简单的理解就是交换机. Linux下配置网桥主要用 brct ...

  2. Intellij idea 系列教程之破解方法

    Intellij idea 系列教程之破解方法 Intellij idea 系列教程目录(https://www.cnblogs.com/binarylei/p/10347600.html) 到这个地 ...

  3. 利用PHP脚本辅助MySQL数据库管理2-表主键表索引

    <?php $dbi = new DbMysql; $dbi->dbh = 'mysql://root:mysql@127.0.0.1/coffeetest'; $map = array( ...

  4. Android NDK定位.so文件crash代码位置

    参考:http://blog.csdn.net/xyang81/article/details/42319789 问题:      QRD8926_110202平台的Browser必现报错.(去年的项 ...

  5. Docker 介绍和使用

    Docker 技术可以实现容器装载软件和依赖库,类似于封闭的Linux系统,默认相当于有root权限,可以快速移植和部署到其他机器上. Docker 容器技术可以理解为:仓库(储物间),镜像(类似于面 ...

  6. 2017/2/16:自己ajax+json习惯性写法 代码拼接的写法 +json用post提交乱码的原因

    1.先导入jquery的包 2.ajax的写法跟注意点 返回一个list的写法 代码拼接写法: html层: 2.script处 4:在你前面传递参数的时候没有遇到乱码问题的情况下,你使用json并且 ...

  7. SpringBoot中文乱码解决方案

    转载:https://blog.csdn.net/wangshuang1631/article/details/70753801 方法一,修改application.properties文件 增加如下 ...

  8. rails 表单中默认值

    在表单中加入默认提示值,如(email@email.com): <div class="field"> <%= form.label :email,"E ...

  9. 2018.11.06 NOIP训练 简单的计数问题(计数dp)

    传送门 直接f[i][j]f[i][j]f[i][j]表示已经到第iii个位置已经找到jjj个的方案数. 简单转移一下就行了. 代码

  10. 2018.06.27Dual Core CPU(最小割)

    Dual Core CPU Time Limit: 15000MS Memory Limit: 131072K Total Submissions: 26136 Accepted: 11270 Cas ...