【Kotlin学习日记】Day4:基本类型

作者: William李梓峰 | 来源:发表于2017-06-20 00:42 被阅读120次

    大家好,欢迎加入小李君的Kotlin学习之旅。今天是小李君学习Kotlin的第四天。

    来段学习小结

    经过前三天的getting started式的快速学习,小李君从无到有地认识Kotlin是个什么东西(JVM语言),能干什么(通吃Android,SpringBoot,Javascript,IOS),掌握基本语法糖(能写变量常量if-else-when判断for-while循环fun函数class类array数组)。也就是说,小李君目前已经大概看懂80%的kotlin代码了,还有最后20%需要通过研习官方文档各个专题来深度学习(不是deep learning)。

    插播人生套路

    学习新语言必经这几个过程:

    1. getting started,快速入门,快速熟悉掌握新语言环境,做到能看懂,也能在别人的代码上改改。
    2. reference,参考手册,深入每个专题,反复看反复练,把基础打牢固,同时能独立完成一个功能完整的应用程序,无论是后端应用还是移动客户端应用。
    3. library source code,语言本身的内核源代码,了解语言环境本身能提供什么工具给开发者使用,全面认识语言内核源代码的组织架构(包的结构划分,类的组织方式,方法的设计规律)。
    4. compile environment,(暂时不说了,这是连小李君都还没达到的高度,跪求大神带着飞)。
    5. 写写学习总结,忘记这门语言。

    开始进入正题

    Kotlin的基本类型与Java & Javascript差不多,同时也借鉴了其他语言的优点,大概能够划分为:Number,Character,Boolean,Array,String。

    Number - 数字类型

    Number作为一个概念代表所有数字的表示(概念上like javascript),但在具体类型实现中,非常接近Java的类型。

    Type Bit width Range
    Double 64 2^64
    Float 32 2^32
    Long 64 2^64
    Int 32 2^32
    Short 16 2^16
    Byte 8 2^8 == 256

    值得一提的是Kotlin支持Java7的一个重要特性:数字下划线分割。

    • 299312 == 299_312

    关于Number的其他内容,其实也没啥特别,就是===这个很直;Long是Long,Int是Int,一点也不含糊。

    Character - 字符类型

    字符也没啥内容,就是跟===一样很直,Character是Character,Int是Int,两者不能自动转换,也不相等。以后用到字符类型的机会其实还蛮少的。

    Boolean 布尔类型

    true false,没了。

    Array 数组类型

    Kotlin的数组类型可谓取其精华去其糟粕。
    全局函数 arrayof( 5, 6, 7 ) 创建了一个数组[ 5, 6, 7 ];
    工厂方法 Array( 3, { i -> i + i } ) 创建了一个数组 [ 0, 2, 4 ];
    抛弃了 Int [ ] 这些写法,直接用 Array<Int> 或 IntArray;
    访问数组元素还是可以直接 arr [ 0 ] 这样子。

    String 字符串

    字符串的亮点在于 """ 这三个双引号和模板技术。
    其中,三个双引号来自于Python语言特性,能够多行显示字符串,直接编写转义字符,并且还能保留换行格式。

    还有,模板技术来自于Linux Bash Shell语言特性,参数展开和表达式展开,老司机都懂的。

    相关文章

      网友评论

        本文标题:【Kotlin学习日记】Day4:基本类型

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