1、具名和非具名参数
package com.fengray

import java.util.TreeMap
val Pi=3.1425f

fun main(args:Array<String>){
	
	var area=mianji(r=32.22f)//不具名
	println(area)
	
	area=mianji(Pi,33.3f)
	println(area)

}	

fun mianji(PI:Float=Pi,r:Float):Float{
	return PI*r*r
	
}

打印
3262.3186
3484.6868

2、字符串与数字的转换
package com.fengray

import java.util.TreeMap
val Pi=3.1425f

fun main(args:Array<String>){
	
	var a="23"
	var b=23
	
	var c=b.toString();
	println(a+c)
	
	var d=a.toInt()+b
	println(d)

	
}	

打印
2323
46

3、人机交互(读入字符)
package com.fengray

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

	var num2str=readLine()
	
	var num1:Int=num1str!!.toInt()//空安全,类似swift里面的可空
	var num2:Int=num2str!!.toInt()//两个感叹号确保数据一定不为空
	
	println("${num1}+${num2}=${num1+num2}")

}	

打印
请输入第一个数字
33
请输入第er个数字
45
33+45=78

4、异常处理
package com.fengray

fun main(args:Array<String>){
	while(true){
		println("请输入第一个数字")
		var num1str=readLine()
			println("请输入第er个数字")
	
		var num2str=readLine()
		
		try{
			var num1:Int=num1str!!.toInt()//空安全,类似swift里面的可空
			var num2:Int=num2str!!.toInt()//两个感叹号确保数据一定不为空
		
			println("${num1}+${num2}=${num1+num2}")
		}catch(e:Exception){
			println("输入的数据有误,请检查数据格式")
		}
	}
		
}	

打印
请输入第一个数字
sd
请输入第er个数字
3
输入的数据有误,请检查数据格式
请输入第一个数字

5、递归
package com.fengray
fun main(args:Array<String>){
	var num=8
	println(jiechen(num))
	
}	



fun jiechen(num:Int):Int{
	if(num==1){
		return 1
	}else{
		return num* jiechen(num-1)
	}
	

}

打印
40320

6、尾递归优化
package com.fengray
fun main(args:Array<String>){
	var resualt=0
	println(add(5,resualt))
	
}	


tailrec fun add(num:Int,resualt:Int):Int{//tailrec是尾递归优化的关键字
	println("计算机的第${num}次运算,reusalt的值为${resualt}")
	if(num==0){
		return 1
	}else{
		return add(num-1,resualt+num)
	}
	
}

打印:
计算机的第5次运算,reusalt的值为0
计算机的第4次运算,reusalt的值为5
计算机的第3次运算,reusalt的值为9
计算机的第2次运算,reusalt的值为12
计算机的第1次运算,reusalt的值为14
计算机的第0次运算,reusalt的值为15
1

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐