1. 基础的学习笔记

2019-04-04  本文已影响0人  不会看源码
// 1. kotlin:可以运行在Java虚拟机、Android、浏览器上的静态语言,它与Java 百分比兼容。

//数据类型
//1.Boolean类型:true、false
val aBoolean: Boolean = true
val anBoolean: Boolean = false


//2. number类型:
//2.1. 浮点型:Double,Float
val aDouble: Double = 1.0
val aFloat: Float = 2.0f

//2.2 整型:Short,Int, Long
val aInt: Int = 3
val anInt: Int = 0xFf //16进制,0xFF=255
val abInt: Int = 0b00000011 //二进制, 3
val aShort: Short = 4
val aLong: Long = 12233


//2.3 字节: Byte
val aByte: Byte = 12


//3. Char字符类型,用单引号包起来,
// 可以是一个字母,汉字,符号,转义字符等
val aChar: Char = 'A'


//4. 字符串
val aString: String = "123"

//字符串的对比 (==类似Java的equal)
// (===是比较两个字符串的引用值,表示比较对象是否相同)
val abString: String ="Hello"
val fromChars: String = String(charArrayOf('H', 'e', 'l', 'l', 'o'))
// abString == fromChars  true
// abString === fromChars false

//转义字符
val say: String = "你好!\"哈哈\""



//基本类型的转换
//1. 不可隐式转换
val abcInt: Int = 5
val abcLong: Long = abcInt.toLong()

//打印日志的用法
//println("$aInt + $abcInt = ${aInt + abcInt}")
// 结果: 3 + 5 = 8




//类和对象

// 1. 类
class Girl constructor(var age: Int) {
    //(var age: Int)是构造方法,传递进去的参数

    init {
        //构造方法的方法题,每次创建对象的时候都会调用
        print("new 了一个新的妹子")
    }
}


//当只有一个构造方法的时候,可以省略constructor
class Boy(var name: String){ }

//继承,所有类都最终继承自Any,类似Java的Object
open class Hugman (var age: Int, var name: String){
    //open就是开放这个类,做父类
}

class SuperMan ( age: Int, name: String): Hugman(age, name){ }


//2. 对象
val gril: Girl = Girl(18)



//判空处理
fun getName(): String{
    //可以返回"",但是不能返回null
    return ""
}

//如果需要返回null,则需要加‘?’
fun getName02(): String?{
    return null
}
//如何使用
fun main(args: Array<String>) {
    //如果为空,则return
//    val name: String = getName02()?:return
//   print(name.length)

    //当我们定义字符串的时候可能会存在null值
    val value: String? = "Hello"
    //当自己确保这个值是不为空的,可(!!)
    print(value!!.length)

    // nullAble!!.length 强制认定nullAble不可为空
    // nullable?.length 若nullAble为空,返回空
}

//多态 的安全转换
fun main02(args: Array<String>) {
    val hugman: Hugman = SuperMan(22, "aas")
    if (hugman is SuperMan){
        //这个对象是属于SuperMan的
    }

    val man: SuperMan? = Hugman(18, "ll") as SuperMan

}


//数组的基本用法
val array: Array<String> = arrayOf("a", "n")

//区间 Range
val range: IntRange = 1 ..1024 // [0, 1024]
val range2: IntRange = 1 until 1024 // [0, 1024)
val emptyRange: IntRange = 0 .. -1 //空的区间,返回空


上一篇下一篇

猜你喜欢

热点阅读