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. 会话和http请求

    一次HTTP请求和响应的过程 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> ...

  2. Spring IOC(八)bean 的创建

    Spring IOC(八)bean 的创建 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 参考: 每天用心记录一点点.内 ...

  3. Maximum Average Subarray II LT644

    Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...

  4. PHP + Redis 队列实战

    环境 centos6.5 PHP5.3 Redis安装 #yum install redis 1.redis配置认证密码 #vi /etc/redis.conf requirepass mypass ...

  5. SVN简明教程

    SVN简明教程 Posted on 2010-09-07 17:34 幻海蓝梦 阅读(7196) 评论(0)  编辑  收藏 所属分类: 版本管理  http://www.emsym.com/blog ...

  6. 关于部署传统的Dynamic Web项目

    现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目. 我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下.之前的人采用的部署 ...

  7. springMVC学习 六 跳转方式

    SpringMVC的controller中的方法执行完之后,默认的跳转方式是请求转发 如果想要修改跳转方式,可以设置返回值字符串内容(1) 添加 redirect:资源路径 重定向 "red ...

  8. 自学java坎坷之路——20155312张竞予

    20155312 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周并没有在课堂上对教材内容进行学习,学习内容概括如下 课程分数构成,其中包括课堂测验(每 ...

  9. 第一个kbmmw for Linux 服务器

    从kbmmw 5.01 开始,就正式支持delphi 10.2 和Linux 了. 今天我们就建一个 kbmmw for linux 服务器简单说一下. 本例子基于上次的linux Daemon例子 ...

  10. ThinkPHP3.2 伪静态配置

    前台伪静态且隐藏入口文件 就把“.htaccess文件” 放到指定文件夹下面 如图home做伪静态并隐藏入口文件: Apache为例,需要在入口文件的同级添加.htaccess文件 如果用的phpst ...