Kotlin学习积累第一天-基础语法,函数定义

总结一下今天的知识点(建议有基础的童鞋可以参考,有不对的地方,希望大神指正)

  • 变量和常量的声明:

         智能类型推断

               eg:var i=10;

                        i=99999999999999999;

                 那此时变量i从int类型转变成了long;如果想显式的定义:var i:Long=999…

                 其他的例如:var i:Int=10    var i:Double   var s:String=””

                 用val修饰的值是常量,不能再进行修改,只读数据类型;var声明的是变量

  • 函数的定义

        函数用fun声明函数/方法,如果是继承的父类,再加上override

                eg:override fun onResume()

                eg:没有返回值:fun a(){}

          返回值:

                 fun a(x:Int,y:Int):Int{return x+y;}

                eg:fun showString(s:String):String{
                             return "我是你${s}${s.length}"
                             }

                   如果想让函数可以接收null,函数的接收类型后面要加上?

                                fun showString2(s:String?):String{
                                      return "我是你"+s

                              }
 

关于kotlin中函数的写法,可以有多种衍生,这里做个总结

    fun add(a:Int,b:Int):Int{
        return a+b
    }

    //如果只有1条返回值,上面的方法可以进行简化
    fun add2(a:Int,b:Int)=a+b

    //函数表达式写法
    var add3={x:Int,y:Int -> x+y}

    //add3还可以演化为
    var add4:(Int,Int)->Int={x,y ->x+y}


对于以上调用的话,也很简单:
        Log.e("sujd===1",""+add(1,2))
        Log.e("sujd===2",""+add2(1,2))
        Log.e("sujd===3",""+add3(1,2))
        Log.e("sujd===4",""+add4(1,2))
  • 默认参数和具名参数
举个例子:比如我要求一个圆形的面积,那此时都会用到π,
        圆形的面积=π*r*r;

         val pai=3.1415926f;//float类型

         fun mianji(Pi:Float=pai,r:Float):Float{

              return Pi*r*r
           }

//具名参数的调用
 Log.e("sujd===",""+mianji(pai,2f))

//默名参数的调用
 Log.e("sujd===",""+mianji(r=2f))//这里的r就是方法中的r
发布了15 篇原创文章 · 获赞 3 · 访问量 2802

猜你喜欢

转载自blog.csdn.net/u010184528/article/details/105039091
今日推荐