美文网首页
1. 基础的学习笔记

1. 基础的学习笔记

作者: 不会看源码 | 来源:发表于2019-04-04 01:31 被阅读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 //空的区间,返回空
    
    
    

    相关文章

      网友评论

          本文标题:1. 基础的学习笔记

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