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. 英国BBC出的这套中国风海报,设计美哭了!

    “中国风”在国际上已经不是“小众”了 之前分享过好莱坞电影的中国风海报 没想到国外的电视剧也看上了中国市场 没错就是英国BBC的最长寿科幻剧—— <神秘博士Doctor Who> 前段时间 ...

  2. px转rem

    第一步: 第二步:html引入js 第三步:转换单位,100px=0.1rem

  3. idea部署tomcat-404错误

    今天在部署数据质量web工程在tomcat后,访问时报404错误,在网上搜了很多相关配置,也都是一步一步来的 Application Context 也配置好了,Artifact也添加了,就是访问不了 ...

  4. IOS语法

    2017-07-15 NSDictionary里要用到的类型转换   [NSNumber numberWithInt: 89] 2017-12-10 定义一个Block的写法 typedef void ...

  5. 进制转换(NOIP2000&NOIP水题测试(2017082301))

    题目链接:进制转换 这题得明白其中的数学方法,明白后就不难了. 那么我们应该怎么计算呢? 其实也很简单. 我们依然采取辗转相除法. 但是,对于负的余数,我们需要进行一些处理. 我们怎么处理呢? 很简单 ...

  6. 单片机一种简便的printf调试方案。

    此处引用csdn博客.链接如下. http://blog.csdn.net/cp1300/article/details/7773239 http://blog.csdn.net/aobai219/a ...

  7. 41.App 框架的搭建思路以及代码的规范

    本链接  引用别人文章https://www.jianshu.com/p/d553096914ff

  8. 2018.10.25 洛谷P4187 [USACO18JAN]Stamp Painting(计数dp)

    传送门 其实本来想做组合数学的2333. 谁知道是道dpdpdp. 唉只能顺手做了 还是用真难则反的思想. 这题我们倒着考虑,只需要求出不合法方案数就行了. 这个显然是随便dpdpdp的. f[i]f ...

  9. 程序员面试50题—sizeof的用法(6)

    以下为Windows下的32 位C++程序,请计算sizeof 的值void Func ( char str[100] ){sizeof( str ) = ?}void *p = malloc( 10 ...

  10. IntelliJ IDEA 2017版 使用笔记(十一) Debug操作:IDEA 快捷键

    调试功能;            缩短项目时间,调高阅读源码的能力.   一.添加断点,选中一行代码,双击即可生成断点(快捷键:ctrl+F8)                二.单步运行,快捷键:s ...