美文网首页我爱编程
二、kotlin 数据类型、数据结构以及语法

二、kotlin 数据类型、数据结构以及语法

作者: 菜鸟七日游 | 来源:发表于2018-07-25 17:25 被阅读50次

    1,基本数据类型

    Kotlin 的数据类型有 Byte、Short、Int、Long、Float、Double 、String不是数值类型, 是一个独立的数据类型。
    学过java的应该都知道它的取值范围 kotlin你们数据类型全是大写字母开头。

    Byte的取值范围-128~127
    Short的取值范围为-32768~32767
    Int的取值范围为-2147483648~2147483647
    Long的取值范围为-9223372036854774808~9223372036854774807
    Float的取值范围为3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)
    Double的取值范围为1.797693e+308~ 4.9000000e-324
    String 是字符串类型

    每个数值类型都支持下面的转换:
    toByte(): Byte
    toShort(): Short
    toInt(): Int
    toLong(): Long
    toFloat(): Float
    toDouble(): Double
    toChar(): Char

    /*
     kotlin 注释和 java  JavaScript 的注释一样
     //单行注释
     /**/ 代码块注释
     */
    
    //声明全局常量
    val number = 10
    //申明全局变量
    var number1 = 11
    
    fun main(args: Array<String>) {
        //变量申明
        //计算机给我一块内存,名字叫i里面存储的数据为18
        var i = 16
        //当前变量无法存储999999999999  当i = 16的时候 已经默认数据类型为 Int  此处会报错
        i = 999999999999
        
        //s 就是一个字符串类型
        var s = "haha"
        
        //我们也可以申明类型
        var j:Int = 10
        var a:String = "sssssssssssss"
        //kotlin 是智能数据类型推算 如果不指定类型 也不指定值 就会报错
        var b
        
        
        //常量申明
        
        //val 声明常量
        val name = "eclipse"
        //申明的常量不能更改值否则会报错  此处会报错
        name = "kotlin"
        
    }
    
    

    2,Boolean 和其他的数据类型在使用上没什么区别 它的值有 true false

    
    fun main(args: Array<String>) {
        printStr();
    }
    
    
    fun printStr(){
        var num1 = Math.sqrt(7.0)
        var num2 = Math.sqrt(6.0)
        println("7开平方的值 大于 6开平方的值-->>" + (num1 > num2))
        
        println("7开平方的值 小于 6开平方的值-->>" + (num1 < num2))
    }
    
    

    控制台输出
    7开平方的值 大于 6开平方的值-->>true
    7开平方的值 小于 6开平方的值-->>false

    3,数据结构

    Array在 Kotlin 中由 Array 类表示,有 get 和 set 方法(通过运算符重载可以由[]调用),以及 size 方法,以及一些常用的函数:

    class Array<T> private () {
        fun size(): Int
        fun get(index: Int): T
        fun set(Index: Int, value: T): Unit
        fun iterator(): Iterator<T>
        //...
    }
    

    和Java不一样,Kotlin 的数组是容器类, 提供了 ByteArray, CharArray, ShortArray, IntArray, LongArray, BooleanArray, FloatArray, and DoubleArray。
    通过arrayof() 创建数组 ,通过 ***ArrayOf 创建指定类型的数组

    4,List

    List是容器,kotlin可也通过 listof()创建List

    //声明list不指定类型数组  自动匹配类型
    var list = listOf("aa","bb","Ccc")
    //声明list指定类型数组  list:List<T> 可以是任何对象
    var list1:List<Int> = listOf(1,2)
    

    5,Map

    map是<key,value>的方式储存数据 和java 是一样的 kotlin通过mapOf创建 map

        var map = mapOf("1" to "ys","2" to "ll")
        var map1 =  hashMapOf("1" to "ys","2" to "ll")
        var map2 =  linkedMapOf("1" to "ys","2" to "ll")
        var map3 =  mutableMapOf("1" to "ys","2" to "ll")
        var map4 =  sortedMapOf("1" to "ys","2" to "ll")
        var value = map4.get("1")
        println(value)
        var maps = TreeMap<String,String>()
        maps["1"] = "aaa"
        maps["2"] = "bbb"
        maps["3"] = "ccc"
        
      //等等 。。。
    

    6,Set

    Set是没有重复项的容器, Kotlin提供setOf创建Set

    var intSet: Set<Int> = setOf(1, 2, 3, 4, 5, 6, 7) 
    var hashset:HashSet<Student> = hashSetOf(
            Student("ys", "25", 2014, "978-15185554445"),
            Student("ll", "24", 2014, "978-15168454887"))
    var  treeset:TreeSet<Int> = sortedSetOf(11, 0, 9, 11, 9, 8)
    

    有一些相关的包需要导入

    import java.util.TreeMap
    import java.util.SortedMap
    import java.util.TreeSet
    import java.util.HashSet
    
    

    相关文章

      网友评论

        本文标题:二、kotlin 数据类型、数据结构以及语法

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