Kotlin学习笔记和知识点(一)

1.用val或var声明变量,指明它们是不可变的或可变的

//定义函数
fun getVar():String{  
    return "var"
}
//赋值
val  x =1
var s= getVar()

2.基本数据类型

//Boolean
val aBoolear: Boolean=true
val anotherBoolear: Boolean=false

//Int
val anInt: Int =8
val anotherInt: Int =0xFF
val moreInt: Int =0b00000011

val maxInt : Int=Int.MAX_VALUE
val  minInt: Int=Int.MIN_VALUE

//Float 浮点
val aFloat: Float=2.0F
val anotherFloat: Float =1E3F

//Double 双精度
val aDouble: Double =3.0

//Short
val aShort: Short=127

//用整型变量给Byte赋值 -128~~127
val byte :Byte=127


//字符
val aChar:Char='0'

//字符串   ==相当于java中a.equals(b),正确为true ,否则 false     ===相当于java中的==
val string :String ="hjk"
val fromChars:String =String(charArrayOf('h','j','k')) //把字符拼接成字符串

//特殊列子
val arg1:Int =0
val arg2:Int =1

//输出:Hello"Trump"
val sayString:String="Hello \"Trump\""

//输出:$10000 
val salary:Int=1000

fun main(args: Array) {
    println(string)
    println(fromChars)

    println(string==fromChars)
    println(string===fromChars)

  

    //java写法
     println("" + arg1 + "+" + arg2 + "=" +(arg1+arg2))
    //kotlin写法
    println("$arg1+$arg2 =${arg1+arg2}")
    
    println(sayString)
    
    println("$$salary")
    
    //输出:$salary ,注意请使用\
    println("\$salary")

    //超级字符类型
    val  rawString:String="""
        \t
        \n
      """
    println(rawString)
    println(rawString.length)
}

3:kotlin针对null指针问题。完美解决


//1.kotlin 不允许返回null
fun getName():String{

    return "eraewr"
}
//2.如果需要返回null。则【类型后添加】?号
fun getNames():String?{

    return null
}

fun main(args: Array) {
    //1
    println(getName().length)

    //2
   val name= getNames();
    println(name?.length)

    //也可以这么写 ==2 ,代表如果为null,直接return,否则....将getNames的值赋值给names,names的类型是一个不可空的Stringva
    // val names:String= getNames()?:return
    // println(names.length)

    //3  !!代表我已经知道肯定不为空,让它安全执行
    val value:String?="eraerae"
    println(value!!.length)
}

4:类


//妹子继承人
class 妹子 (性格:String ,长相:String,声音:String):人(性格,长相,声音)
class 帅哥 constructor(性格:String ,长相:String,声音:String):人(性格,长相,声音)

//因为类默认是final类型的。所有需要open去打开   父类
open class 人(var 性格:String ,var 长相:String,var 声音:String){

    init { //在初始化的时候,加载
        //${this.javaClass.simpleName}  获取子类的类名
        println("new 了一个${this.javaClass.simpleName}:她性格:$性格,长相:$长相,声音:$声音")

    }
}
//constructor可以省略
class Bing constructor(var  s:Int,var d:String){

    init {
        println("s:$s d:$d")
    }
}


fun main(args: Array) {

    val 我喜欢妹子:妹子=妹子("温柔","甜美","动听")
    val 崇拜帅哥:帅哥=帅哥("冷酷","帅气","深沉")
    val Bing:Bing=Bing(18,"erewa")
}

封神:kotlin系列将继续更新。。。。包含kotlin所有的知识点,后期还有案例结合
软件:AndroidStudio 或者IntelliJIDEA
插件:kotlin
如果有哪里注释解释不清楚,请评论处纠正

你可能感兴趣的:(Kotlin学习笔记和知识点(一))