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