zoukankan      html  css  js  c++  java
  • Kotlin学习系列(一)

    基本类型

    在Kotlin中任何事物都是对象你可以在任何变量上调用相应的方法或属性。Kotlin的一些内置类型如下:

    • Number: 包含整形与浮点型
    • Character: 字符(Chat)
    • Boolean: 布尔值
    • String: 字符串
    • Array: 数组

    在Kotlin内置的类型个人觉得更加像Java中的一些包装类,如果在学习之前将思维转换成Java包装类的思想我觉得学起来更容易理解一些。当然它们还与Java多少有些不同。

    Number类型

    Kotlin包含如下number类型:

    • Double
    • Float
    • Long
    • Int
    • Short
    • Byte

    怎么样有没有感觉跟Java里面的java.lang.Double、java.lang.Long这些包装类差不多用起来也差不多。还有在Kotlin的数字常量可以用十进制、十六进制、指数形式小数、二进制但是没有八进制。Kotlin中是没有自动向上转型的。

       //内置数据类型
        var d: Double = 64.0
        var i: Int = 32
        var l: Long = 64
        var f: Float = 32.0F
        var b: Byte = 8
        var s: Short = 16
    
        //数字常量
        i = 1  //十进制
        i = 0x1 //十六进制
        i = 01 //八进制不允许
        i = 0b00000 //二进制
        d = 1.2E10 //指数形式
        f = 1.2E10F
    
        //没有自动向上转换
        l = i   //Int不能自动转换成Long
        d = f  //同样Float也不能自动转换
    

    不过上面说了Kotlin中任何事物都是对象那么我们可以调用相应的方法来显示转换。

        var i: Int = 5;
        var l: Long = i.toLong();
    

    字符类型

    字符类型在Kotlin中用Char来表示,它不能直接去应用一个number类型如var ch: Int = 'c'是错误的必需要显示的转换var ch: Int = 'c'.toInt()同样Char也支持转意字符 、、 等跟Java中的差不多。

    数组

    在Kotlin数组分为基本类型的数组和其他类型数据,基本数组类型是指数组中的元素类型都是基本数据类型如: Int、Long、Floa这些类型的数组在Kotlin中分别用IntArray、LongArray、FloatArray来表示可以通过Kotlin内置的方法来创建<*>ArrayOf(values)里面的*号代表具体的元素类型。

        var intArray: IntArray = intArrayOf(1, 3, 4);
        var longArray: LongArray = longArrayOf(1L, 2L)
    

    其他类型的数组可以使用Array通过传入大小与生成对象的方法来创建数组。

        var str: Array<String> = Array(5, { index -> index.toString })
    

    字符串

    字符串用String表示同Java一样是不可变的同样内部也用字符组成,访问内部字符可以通过s[i]和循环来遍历。

    
        var hello: String = "HelloWorld"
    
        for(index: Int  in 0..hello.length - 1){
            println(hello[index])
        }
    
        for(ch in hello){
            println(ch)
        }
    

    字符串可分为能够转意一些特殊字符的字符串和原始的字符串。

        var text1: String = "Hello	World"
        var text2: String = """
            HelloWorld
            """
    
        println(text1)
        println(text2)
    

    text1中 会转间成一个制表符但在text2不但不会转意且任何内容都会照样输出。原始字符串类似XMl中的CDATA。字符串中可以使用模版,就像Java中的String.format的一样但在Kotlin中使用$号开始后面可以加变量名来替换内容。

        var name: String = "Kotlin";
        var greet: String = "Hi, $name";
        println(greet)
    

    学习总结

    学习Kotlin时免不了要与Java比较但Kotlin更像类似Swift,看IOS同事写Swift后学习了Kotlin的基本类型后感觉太相似了。说实话还是比较喜欢Java这种强类型的语言也许是用了几年不太适应吧。既然开始了一定要坚持学下去不能落伍。本人水平有限可能免不了手滑一下如有错误烦请指出,会即时更改。




    《架构文摘》每天一篇架构领域重磅好文,涉及一线互联网公司应用架构(高可用、高性 能、高稳定)、大数据、机器学习等各个热门领域。

  • 相关阅读:
    apicloud教程
    apicloud教程3 (转载)
    apicloud教程2 (转载)
    apicloud教程1 (转载)
    API CLOUD 快捷键
    JS IIFE写法
    php事件驱动
    JQuery实践--Why JQuery
    Jquery实践--精读开篇
    python 实践--新闻聚合
  • 原文地址:https://www.cnblogs.com/xwgblog/p/5245200.html
Copyright © 2011-2022 走看看