Kotlin基础学习笔记

1.基本数据类型

/**
 * Author: TianMing.Xiong
 * Date: Created in 17-12-23 下午6:12
 */
fun main(args: Array<String>) {

    //8种基本数据类型 声明:var|val 变量名:[类型]=初始值
    var aBoolean=false
    var aChar='a'

    var aByte:Byte= Byte.MAX_VALUE
    var aShort:Short= Short.MAX_VALUE
    var aInt:Int= Int.MAX_VALUE
    var aLong=1L

    var aFloat=2F
    val aDouble=3.0

    //引用类型
    val aString="Hello"

    println("$aBoolean")
    println("$aChar")
    println("$aByte")
    println("$aShort")
    println("$aInt")
    println("$aLong")
    println("$aFloat")
    println("$aDouble")
    println("$aString")
}

输出:

false
a
127
32767
2147483647
1
2.0
3.0
Hello

2.函数方法定义

package com.xtm.demo

fun main(args: Array<String>) {
    println("a+b=${sum(10,20)}")
    println("a+b=${sum1(19,1)}")
    println("a+b=${sum2(19,2)}")
    printSum(12,13)

}

/**
 * 无返回值函数
 */
fun printSum(a:Int,b:Int){
    println("void print:"+(a+b))
}

/**
 * 有返回值函数
 * 格式:fun 函数名(param1:Type1,param2:Type2...):Type
 */
fun sum(a: Int, b: Int):Int{
    return a+b
}

/**
 * 自动转型函数
 */
fun sum1(a:Int,b:Int) = a + b

/**
 * 函数简写
 */
fun sum2(a:Int,b:Int):Int = a+b

输出:

a+b=30
a+b=20
a+b=21
void print:25

3.类和抽象类及接口

package com.xtm.demo


/**
 * Author: TianMing.Xiong
 * Date: Created in 17-12-23 上午9:30
 */
fun main(args: Array<String>){

    //普通类
    val site = WebSit()
    site.name="www.baidu.com"
    site.city="shenzhen"
    println(site.toString())
    site.test()
    //构造方法
    val animal = Animal("小鸟",2)
    animal.test()
    val animal1 = Animal("熊猫", 3, "white")
    animal1.test()

    //抽象方法
    val sayHiImp = SayHiImp()
    sayHiImp.sayHi("Tom")

    //接口
    val sayHelloImp = SayHelloImp()
    sayHelloImp.sayHello("Lily")


}

//普通类 setter and getter
class WebSit {

    var name: String=""
    get() = field
    set(value) {
        field=value
    }

    var city: String=""
    get() = field
    set(value) {
        field=value
    }

    fun test(){
        println("test...\n")
    }

    override fun toString(): String {
        return "name:${this.name}\ncity:${this.city}"
    }
}


//构造方法
class Animal constructor(private var name: String, private var age: Int){//主构造方法
    private var color:String="gray"
    constructor(name: String,age: Int,color: String):this(name,age){//次构造方法
        this.name=name
        this.age=age
        this.color=color
    }
    init {
        println("init...")

    }

    fun test(){
        println("name:${this.name },age:${this.age},color:${this.color}\n")
    }
}

//抽象类
open class BaseSayHi{
    open fun sayHi(name:String){}
}

abstract class AbsSayHi:BaseSayHi() {
    override abstract fun sayHi(name:String)
}

class SayHiImp :AbsSayHi(){
    override fun sayHi(name:String) {
        println("hi!  $name\n")
    }

}

//接口
interface ISayHello{
    fun sayHello(name:String)
}
class SayHelloImp :ISayHello{
    override fun sayHello(name: String) {
        println("Hello ! $name")
    }

}



输出:

name:www.baidu.com
city:shenzhen
test...

init...
name:小鸟,age:2,color:gray

init...
name:熊猫,age:3,color:white

hi!  Tom

Hello ! Lily



猜你喜欢

转载自blog.csdn.net/qq_17441227/article/details/78911985