美文网首页
每天学一点 Kotlin ---- 基本类型:数字类型

每天学一点 Kotlin ---- 基本类型:数字类型

作者: 冯可乐同学 | 来源:发表于2021-09-27 11:51 被阅读0次

    ----《第一季Kotlin崛起:次世代Android开发 》学习笔记

    总目录:每天学一点 Kotlin ---- 目录
    上一篇:每天学一点 Kotlin ---- 常量和变量
    下一篇:每天学一点 Kotlin ---- 基本类型:布尔类型

    1. 数字类型

    Long           长整数         64位
    Int            整数           32位
    Short          短整数         16位
    Byte           字节           8位
    Double         双精度小数     64位
    Float          浮点数         32位
    

    比较难受的是,类型的首字母是大写的,而且声明变量或常量也和 C/Java 等不一样...

    2. 声明和初始化

    2.1 变量的声明和初始化

    fun main() {
        var age1 : Int = 3
        var age2 = 4;  // Kotlin 会自动推断类型,所以也可以省略类型的关键字
    
        var age3: Int
        age3 = 10
    
        // var age4;  // 编辑器直接报错了
        // age4 = 20
    }
    

    2.2 Kotlin 默认的整数类型是 Int,其他的数字类型定义的写法为:

    package com.cakes.test
    
    fun main() {
    
        val 一个Int = 123
        val 一个Long = 123L
        val 一个Double = 123.56
        val 一个Float = 123.56F
        val 一个八进制 = 0xACF
        val 一个二进制 = 0b01010101
    
        println(一个Int)
        println(一个Long)
        println(一个Double)
        println(一个Float)
        println(一个八进制)
        println(一个二进制)
    }
    

    打印结果:

    123
    123
    123.56
    123.56
    2767
    85
    

    3. 数字范围

    Kotlin 不支持自动扩展数字范围,转换必须手动进行。每一种数字都有一个转换成其他数字类型的方法。例如:

       val num = 123
       val long = num.toLong()
       val short = num.toShort()
       val double = num.toDouble()
       val char = num.toChar()
       val byte = num.toByte()
    

    在这些数字类型中有一整套的转换函数由于类型相互转换: toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble(), toChar()

    4. 二进制运算

    Kotlin 也支持对于二进制的运算:左移、右移、逻辑与、逻辑或、异或、取反等运算,和Java中不同的是,这些不是内建运算符,而是用中缀函数类代替的。举个栗子:

    println("1 左移 2: " + (1 shl 2))
    println("1 右移 2: " + (1 shr 2))
    println("1 逻辑与 2: " + (1 and 2))
    println("1 逻辑或 2: " + (1 or 2))
    println("1 异或 2: " + (1 xor 2))
    println("1 取反: " + 1.inv())
    

    打印结果:

    1 左移 2: 4
    1 右移 2: 0
    1 逻辑与 2: 0
    1 逻辑或 2: 3
    1 异或 2: 3
    1 取反: -2
    

    5. 浮点数(小数)

    5.1 Kotlin 默认的浮点类型是 Double

    5.2 可以用 Double 类型的 toInt() 方法把小数截断为整数,注意:这里不是四舍五入,而是直接把小数点后的部分丢弃。

    5.3 在数字运算中,对于常用的加、减、乘、除、取余来说,如果其中有一个是小数的话,那么整体的计算结果也是小数(Double)

    5.4 对小数也是可以取余数的

    fun main(args: Array<String>) {
    
        println("学习浮点数")
        var dNum1 = 10.4
        var iNum1 = dNum1.toInt()
    
        var dNum2 = 10.5
        var iNum2 = dNum2.toInt()
        println("iNum1 = " + iNum1 + ", iNum2 = " + iNum2)
    
        println("12 + 4.0 = " + (12 + 4.0))
        println("12 + 4 = " + (12 + 4))
        println("12 - 4.0 = " + (12 - 4.0))
        println("12 - 4 = " + (12 - 4))
        println("12 * 4.0 = " + (12 * 4.0))
        println("12 * 4 = " + (12 * 4))
        println("12 / 4.0 = " + (12 / 4.0))
        println("12 / 4 = " + (12 / 4))
        println("12 % 4.0 = " + (12 % 4.0))
        println("12 % 4 = " + (12 % 4))
        println("12 % 4.1 = " + (12 % 4.1))
        println("12 % 4 = " + (12 % 4))
    
    }
    

    打印结果:

    学习浮点数
    iNum1 = 10, iNum2 = 10
    12 + 4.0 = 16.0
    12 + 4 = 16
    12 - 4.0 = 8.0
    12 - 4 = 8
    12 * 4.0 = 48.0
    12 * 4 = 48
    12 / 4.0 = 3.0
    12 / 4 = 3
    12 % 4.0 = 0.0
    12 % 4 = 0
    12 % 4.1 = 3.8000000000000007
    12 % 4 = 0
    
    相关代码:https://gitee.com/fzq.com/test-demo

    相关文章

      网友评论

          本文标题:每天学一点 Kotlin ---- 基本类型:数字类型

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