美文网首页
Kotlin入门学习(一)

Kotlin入门学习(一)

作者: 岁月静好浅笑安然 | 来源:发表于2019-07-25 16:44 被阅读0次

kotlin 学习 第一章

1.hello

fun main(args:Array<String>){
    println("hello word")
}

2.变量和输出

//变量声明和使用
fun main(args:Array<String>){
    var name="小明"//省略了数据类型 var name:String="小明"
    name="李四"
    println(name)

}

常见的数据类型

  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double
  • String

智能类型推断

//编译器会推断
fun main(args:Array<String>){
    var name="小明"//
    var i=18
    var j=999999999999
    

}
//指定数据类型
fun main(args:Array<String>){
    var name:String="小明"//
    var i:Int=18
    var j:Long=999999999999
    

}

变量和常量

//val  var
fun main(args:Array<String>){
    val name:String="小明"//不可更改
    var name:String="小明"//可重新更改赋值
    name="李四"
    }

取值范围

//
fun main(args:Array<String>){
    val aB=Byte.MAX_VALUE
    val bB=Byte.MIN_VALUE
    
    val aL=Long.MAX_VALUE
    val bL=Long.MIN_VALUE
    }

函数入门

//
fun main(args:Array<String>){
    var a=4
    var b=6
    println(a<b)
    
    var num3=Math.sqrt(5.0)-Math.sqrt(4.0)
    var num3=Math.sqrt(3.0)-Math.sqrt(3.0)
    
    }

函数加强

//
fun main(args:Array<String>){
    var a=4
    var b=6
    println(plus(a,b))
    println(sub(a,b))
    println(mutl(a,b))
    println(devide(a,b))
    
    }
    // +-*/
fun plus(a:Int,b:Int):Int{
    return  a+b
}

fun sub(a:Int,b:Int):Int{
    return  a-b
}

fun mutl(a:Int,b:Int):Int{
    return  a*b
}

fun devide(a:Int,b:Int):Int{
    return  a/b
}

字符串模板 $("")

//字符串模板  $("")

fun main(args:Array<String>){
var a=get_("中山公园")
    println(a))
}
fun get_(address:String):String{
var temp="$我去{address}玩了"
return temp
}

条件控制

//条件控制

fun main(args:Array<String>){

plus(“较大的${get_(3,5)}”)
}
fun get_(a:Int,b:Int):Int{
if(a>b) return a else return b

}

空值处理

//空值处理
//默认不为空
fun heat(str:String):String{
    return "热"+str
}
//加?号 可以为空
//fun heat(str:String?):String{
//return "热"+str
//}
fun main(args:Array<String>){
    var re=heat("水")
    println(re)


}

when

//when

fun gradeStr(i:Int){
    when(i)
        10 -> println("我是10")
        9 -> println("我是9")
        8 -> println("我是8")
        7 -> println("我是7")
        6 -> println("我是6")
        else -> println("我是其他")
}

fun main(args:Array<String>){
    gradeStr(7)

}

区间

fun main(args:Array<String>){
 var nums= 1 ..100//[1,100] 闭区间
 //var nums= 1 until100//[1,100)前闭后开区间
 var result=0
 for(num in nums){
    result=result+num
 }
println("结果${result}")

var num3 =1 ..16//step步长
for(a in num3 step 2){
    //1 3 5 7 9 11 13 15
}
//reversed() 反转
var num4=num3.reversed()
}

List Map

//List增强写法
fun main(args:Array<String>){
    var lists=listof("aaaa","bbbb","cccc")
    for((i,e) in lists.withIndex){
    println("下标${i}值${e}")
    }
}

//map

fun main(args:Array<String>){

    
}

函数和函数表达式

fun main(args:Array<String>){
    //写法一
    var result=add(3,5)
    println(result)
    
    //写法二
    var  j={x:Int,y:Int ->x+y}
    var result2=j(3,5)
    println(result2)
    
    //写法三
    var i:(Int,Int) ->Int ={x,y ->x+y}
    var result3=i(6,4)
    println(result3)
    
    
}
fun add(a:Int,b:Int)=x+y

默认参数和具名参数


fun main(args:Array<String>){
        var result=zhouchang(banjing=2.0)
}
fun zhouchang(pi:Float=3.14,banjing:Float):Float{
        return 2*pi*banjing
}

异常处理

//try-catch 
fun main(args:Array<String>){
    println("请输入第一个数字")
    var a=readLine()
    println("")
    var b=readLine("请输入第二个数字")
    try{
    var num1:Int=a!!.toInt()
    var num2:Int=b!!.toInt()
    println("${num1}+${num2}=${num1+num2}")
    }catch(e:Exception){
    println("输入有误")
    }
}

递归

fun main(args:Array<String>){
    var num=BigInteger("100")
    println(fact(num))
}
fun fact (num:BigInteger):BigInteger{
if(num==1){
    return 1
}else{
    return num*fact(num-BigInteger.ONE)
}
}

尾递归优化

// 关键字  tailres
fun main(args:Array<String>){
        var result=0
        println(ollAdd(2,result))
}
tailres fun ollAdd(num:Int):Int{
    if(num==0){
    return 1
    }else{
    return ollAdd(num-1,result+num)
    }
}

相关文章

网友评论

      本文标题:Kotlin入门学习(一)

      本文链接:https://www.haomeiwen.com/subject/joohrctx.html