美文网首页kotlin
07. 基本数据类型

07. 基本数据类型

作者: 厚土火焱 | 来源:发表于2017-11-01 01:54 被阅读185次

Kotlin 中的基本数值类型有 Byte,short,Int,Long,Float,Double

类型 宽度
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8
字面常量
  • 十进制: 123
  • 长整型以大写的L结尾: 123L
  • 16进制以0x开头: 0x1235F
  • 2进制以0b开头: 0b001100101
  • 不支持8进制
  • Double默认写法: 123.5e10 或 123.5
  • Float使用f或F后缀: 123.5f 或 123.5F

可以使用下划线,让数字更易读

val oneMillion = 1_000_000
val creditCardNumber = 1234_5678_9012_3456L
val socialSecurityNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E
val bytes = 0b11010010_01101001_10010100_10010010

两个数字比较

可以用 === 和 == 比较
=== 表示比较对象地址
==表示比较值的大小

    val tt : Int = 393
    val tt1 : Int = tt
    val tt2 : Int? = tt

    println(tt===tt1)
    println(tt===tt2)
    println(tt==tt1)
    println(tt==tt2)

上面的代码,把 Int 型的 tt 创建了两个类型不同的对象 tt1 和 tt2。
tt1 和 tt 类型相同。使用 === 和 == 分别看比较的结果如下

true
false
true
true

可知 Int? 类型的 tt2 与 tt 的对象地址不同。而值是相同的。

类型转换

数值间类型转换,较小类型不能隐性转换成较大类型。因此需要显性转换。
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char

位运算

对于 Int 和 Long 可以进行位运算
shl(bits) – 左移位 (Java’s <<)
shr(bits) – 右移位 (Java’s >>)
ushr(bits) – 无符号右移位 (Java’s >>>)
and(bits) – 与
or(bits) – 或
xor(bits) – 异或
inv() – 反向
位运算示例

val x = (1 shl 2)
println(x)

打印结果是

4

位运算示例

val x = (1 shl 2) and 0x000ff000
println(x)

打印结果是

0

字符

字符需要使用单引号包起来,像这样 'a'
可以显式的把字符转为 Int 数字

println('c'.toInt())

输出结果为 99

数组

数组创建有两种方式:一种是使用函数 arrayOf();另一种是使用工厂函数。

   val a = arrayOf(1, 2, 3, 4, 5)
    val b = Array(3, {i ->(i*2)})
    println(a[0])
    println(a[1])
    println(a[2])
    println(a[3])
    println(a[4])
//    println(a[5])
    println(b[0])
    println(b[1])
    println(b[2])

运行结果

1
2
3
4
5
0
2
4

如果把 a[5] 的注释标记去掉,运行结果就只会打印到 5,因为 a[5] 是不存在的,此处已经发生错误,后面的结果也无法打印了。
Array(元素个数,{元素参数->公式})
i 从0 起步

字符串

字符串可以使用 [] 符号加下标,来访问串中的任意字符。
还可以用 """ 这样的三个双引号括起来多行文本。可以在行使用 | ,并在字符串赋值的尾部加上 .trimMargin() 来消除前置的空格。

    val a1:String = "lkjasdfalkdj"
    val b1 = """
        牛皮不是吹的
        火车不是推的
        戏法是变的
        魔法是不会的
        """
    val c1 = """
        |牛皮不是吹的
        |火车不是推的
        |戏法是变的
        |魔法是不会的
        """.trimMargin()
    println(a1)
    println(b1)
    println(c1)

运行结果如下

lkjasdfalkdj

        牛皮不是吹的
        火车不是推的
        戏法是变的
        魔法是不会的
        
牛皮不是吹的
火车不是推的
戏法是变的
魔法是不会的

相关文章

  • 07. 基本数据类型

    Kotlin 中的基本数值类型有 Byte,short,Int,Long,Float,Double 字面常量 十进...

  • C++基础

    1.C的基本数据类型 java基本数据类型 C基本数据类型 基本数据类型所占字...

  • 2019年安卓面试题--------Java 基础篇

    java 的基本数据类型 java的数据类型分为基本 数据类型和 引用数据类型基本数据类型: byte sho...

  • Java基本数据类型转换

    一:Java的基本数据类型和引用数据类型 1:基本数据类型 2:引用数据类型 二:基本数据的类型转换 基本数据类型...

  • Hive-3.1.2(三)数据类型

    常用的基本数据类型 基本数据类型所占字节intbooleanfloatdoublestring 复杂数据类型 基本...

  • Kotlin学习第一天

    打印HelloWorld 基本数据类型代码展示: kotlin只有基本数据类型 没有包装数据类型 基本数据类型范...

  • java数据类型(八种基本数据类型+三种引用类型)

    数据类型分类 java数据类型分为基本数据类型和引用数据类型 基本数据类型 基本数据类型包括4个分类,分配的存储空...

  • JS数据类型判断

    js中可以通过typeof来判断基本的数据类型。 数据类型 js的数据类型分为基本数据类型和引用数据类型,基本数据...

  • Java基础数据类型和引用类型的区别

    一、数据类型 Java中的数据类型分为两大类,基本数据类型和引用数据类型。 1、基本数据类型 基本数据类型只有8种...

  • ES5知识点整理

    基本语法 基本语法包括数据类型,操作符,语句,函数 数据类型 5种简单数据类型(基本数据类型)Undefined、...

网友评论

    本文标题:07. 基本数据类型

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