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


Android-Kotlin-函数表达式&String与Int转换$异常处理的更多相关文章
- C++有没有string转化int的函数,怎样转换
有两种方法1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib>#include <string> std::st ...
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 ...
- Go语言string,int,int64 ,float转换
(1)int转string s := strconv.Itoa(i)等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string i := int64 ...
- golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换
golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...
- Kotlin函数与Lambda表达式深入
Kotlin函数: 关于Kotlin函数在之前也一直在用,用fun来声明,回忆下: 下面再来整体对Kotlin的函数进行一个学习. 默认参数(default arguments): 先来定义一个函数: ...
- kotlin函数和函数式表达式
这次的写法可能有些怪异,但是如果熟悉java8的Lambda表达式的话其实理解起来很顺其自然[参考博客:http://www.cnblogs.com/webor2006/p/7705130.html] ...
- C++ string与int的互相转换
原文地址 C++本身就提供了字符串与整型数之间的互换,那就是利用stringstream.下面是使用方法: 核心: 利用C++中的stringstream流. 由于使用过程比较简单就不再赘述,直接给出 ...
- String与Int类型的转换
http://blog.sina.com.cn/s/blog_4f9d6b1001000bfo.html int -> String int i=12345; String s="&q ...
- string int 转换
int转stringint n = 0;std::stringstream ss;std::string str;ss<<n;ss>>str;string转intstd::st ...
随机推荐
- 会话和http请求
一次HTTP请求和响应的过程 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> ...
- Spring IOC(八)bean 的创建
Spring IOC(八)bean 的创建 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 参考: 每天用心记录一点点.内 ...
- Maximum Average Subarray II LT644
Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...
- PHP + Redis 队列实战
环境 centos6.5 PHP5.3 Redis安装 #yum install redis 1.redis配置认证密码 #vi /etc/redis.conf requirepass mypass ...
- SVN简明教程
SVN简明教程 Posted on 2010-09-07 17:34 幻海蓝梦 阅读(7196) 评论(0) 编辑 收藏 所属分类: 版本管理 http://www.emsym.com/blog ...
- 关于部署传统的Dynamic Web项目
现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目. 我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下.之前的人采用的部署 ...
- springMVC学习 六 跳转方式
SpringMVC的controller中的方法执行完之后,默认的跳转方式是请求转发 如果想要修改跳转方式,可以设置返回值字符串内容(1) 添加 redirect:资源路径 重定向 "red ...
- 自学java坎坷之路——20155312张竞予
20155312 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周并没有在课堂上对教材内容进行学习,学习内容概括如下 课程分数构成,其中包括课堂测验(每 ...
- 第一个kbmmw for Linux 服务器
从kbmmw 5.01 开始,就正式支持delphi 10.2 和Linux 了. 今天我们就建一个 kbmmw for linux 服务器简单说一下. 本例子基于上次的linux Daemon例子 ...
- ThinkPHP3.2 伪静态配置
前台伪静态且隐藏入口文件 就把“.htaccess文件” 放到指定文件夹下面 如图home做伪静态并隐藏入口文件: Apache为例,需要在入口文件的同级添加.htaccess文件 如果用的phpst ...