Kotlin快速入门(三)函数进阶、异常处理、从键盘获取字符串、递归

前言:作为一个安卓开发的老鸟,一步步从eclipse到AS开发安卓app,再到NDK开发,不断的更新,不断的学习,现如今Google把安卓的第一开发语言换成了Kotlin,所以我们也要紧跟Google步伐,转战kotlin,接下来我会带领大家快速入门kotlin开发。


1.1函数进阶(求圆和矩形的面积)

val pi = 3.141592f //val表示对象是常量,不能更改

//fun 函数名字(参数高,参数宽)返回Float型
fun getRectangleS(height:Float, width:Float):Float{
	return height*width
}

fun getCircularS(PI:Float = pi, radius:Float):Float{
	return PI*radius*radius
}

//main函数
fun main(args:Array<String>){
	var s1 = getRectangleS(10.5f,20.6f)
	println(s1)
	
	var s2 = getCircularS(radius = 3.5f)
	println(s2)
	
}

1.2函数的其他写法

fun main(args: Array<String>){
	//函数的普通形式
	var result = add(3, 5)
	println(result)
	
	//函数的其他形式
	var i = {x:Int, y:Int -> x+y}//和C语言中函数的指针很类似
	var result2 = i(3, 5)
	println(result2)
	
	//函数的其他形式
	var j:(Int, Int)->Int = {x,y -> x+y}
	var result3 = j(3, 5)
	println(result3)
	
}

fun add(x:Int, y:Int):Int = x+y

2.字符串和数字的转换

fun main(args: Array<String>){
	var a = "13"
	var b = 13
	
	a = b.toString()//把b数字转换成字符串
	
	b = a.toInt()//把a字符串转换成int
	
	var c = "a3"
	b = c.toInt()//会出现错误
}

3.从键盘接收输入内容

fun main(args:Array<String>){
	println("请输入第一个数字")
	var numberStr1 = readLine()
	
	println("请输入第二个数字")
	var numberStr2 = readLine()
	
	var num1:Int = numberStr1!!.toInt()
	var num2:Int = numberStr2!!.toInt()
	
	println("${num1} + ${num2} = ${num1 + num2}")
	
}

4.从键盘接收输入内容+异常处理+while循环

fun main(args: Array<String>) {
	while (true) {
		println("请输入第一个数字")
		var numberStr1 = readLine()

		println("请输入第二个数字")
		var numberStr2 = readLine()

		try {
			var num1: Int = numberStr1!!.toInt()
			var num2: Int = numberStr2!!.toInt()

			println("${num1} + ${num2} = ${num1 + num2}")
		} catch (e: Exception) {
			println("你输入的有问题")
		}
	}
}

5.1普通递归

fun main(args:Array<String>){
	var num = fact(4)
	println(num)
}


fun fact(number:Int):Int{
	if(number == 1){
		return 1
	}else {
		return number * fact(number - 1)
	}
}

5.2递归累加

fun main(args:Array<String>){
	var num = ollAdd(4)
	println(num)
}


fun ollAdd(number:Int):Int{
	if(number == 1){
		return 1
	}else {
		return number + ollAdd(number - 1)
	}
}

5.3递归累加

fun main(args:Array<String>){
	var result = 0
	println(ollAdd1(100,result))
}


tailrec fun ollAdd1(num:Int, result:Int):Int{
	println("计算机第 ${num}次运算,result=${result}")
	if(num == 0){
		return 1
	}else {
		return ollAdd1(num-1, result+num)
	}
}


kotlin基础语法结束,接下来开始kotlin的面向对象。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等待着冬天的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值