Kotlin学习系列(一)

基本类型

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

  • 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也支持转意字符\n、\b、\r等跟Java中的差很少。大数据

数组

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

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

其余类型的数组能够使用Array经过传入大小与生成对象的方法来建立数组。orm

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\tWorld"
    var text2: String = """
        Hello\bWorld
        """

    println(text1)
    println(text2)

text1中\t会转间成一个制表符但在text2不但\b不会转意且任何内容都会照样输出。原始字符串相似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这种强类型的语言也许是用了几年不太适应吧。既然开始了必定要坚持学下去不能落伍。本人水平有限可能免不了手滑一下若有错误烦请指出,会即时更改。




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

相关文章
相关标签/搜索