前言:作为一个安卓开发的老鸟,一步步从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的面向对象。