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. Android Text Color设置不当造成信息不显示

    Android Text Color设置不当造成信息不显示 Android 的TextView 可以设置颜色,默认我们可以设置成 #000000 ,但某一次设置成了#00000000 ,就是多了两个0 ...

  2. sqlserver 添加服务器链接 跨服务器访问数据库

    转载地址1:https://www.cnblogs.com/wanshutao/p/4137994.html //创建服务器链接 转载地址2:https://www.cnblogs.com/xulel ...

  3. 在win8 App中,StorageFile比Path更好用

    Skip the path: stick to the StorageFile: http://blogs.msdn.com/b/wsdevsol/archive/2012/12/05/stray-f ...

  4. hibernate项目

    http://blog.csdn.net/wzygis/article/details/22985751

  5. MZOJ 1344 工作依赖

    这道题并不是很难,关键在于读入; 其余只需一个遍历;(考的时候傻逼兮兮的没写出来) 另外,学到了一个 isdigit()用来判断是否是0-9的数字; #include <bits/stdc++. ...

  6. Java基本语法实验报告

      题目:       Java基本语法 课程名称:  JAVA语言程序设计 班    级:    信1705-1 姓    名:   刘雨馨     学号:   20173445 指导教师:    ...

  7. VBA编程中的 sheet1 与 sheets(1)的区别

    [自己理解]sheet1是一个专有名词,不是任何对象的属性,只能单独使用,特指代码所在工作簿的那个sheet1(和顺序无关,是固定的一个表,sheets(1)则和顺序有关). 参考资料: 1.代码中一 ...

  8. SVN安装配置与使用

    http://www.cnblogs.com/skyway/archive/2011/08/10/2133399.html http://www.cnblogs.com/lidabo/archive/ ...

  9. 安卓修改开机logo和开机动画的方法

    第一种和第二种方法亲测可用,安卓版本是4.2和安卓5.1均可.第二种方法待验证 以下三种方法 Android 开机其实总共会出现3个画面: 1.第一个就是 linux 系统启动,出现Linux小企鹅画 ...

  10. Ajax传数据到servlet

    //jsp代码 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" ...