美文网首页
kotlin 数字操作符运算结果不对的问题

kotlin 数字操作符运算结果不对的问题

作者: _蘇芳_ | 来源:发表于2020-03-13 09:36 被阅读0次
    data class M(val int: Int?)

    @Test
    fun test() {
        val m1 = M(0)
        val m2 = M(1)
        val m3 = M(0)

        val i = (m1.int ?: 0) + (m2.int ?: 0) + (m3.int ?: 0)

        val j = (m1.int ?: 0)
                    +(m2.int ?: 0)
                    +(m3.int ?: 0)

        println(i)
        println(j)
    }

打印结果i j分别是1和0,百思不得骑姐。
后来发现kotlin是将val j = (m1.int?:0)当做一行,直接将m1.int赋值给了j
+(m2.int?:0)(m3?:int?:0)当做另起一行了。

你要是++(int)当做一行还能理解,+(int)居然不报错是为啥。。谁加谁啊
以后碰到运算j这种情况,在最外面多加个括号吧

相关文章

  • kotlin 数字操作符运算结果不对的问题

    打印结果i j分别是1和0,百思不得骑姐。后来发现kotlin是将val j = (m1.int?:0)当做一行,...

  • 7.基本操作符(BasicOperators)

    基本操作符 kotlin_基本操作符 赋值运算符: 算术自反赋值运算符 算数运算符 自增自减运算符(++、–) 字...

  • Kotlin操作符号用法大全

    Kotlin操作符、运算符号用法大全 前言:)Scala :想解决Java表达能力不足的问题Groovy :想解...

  • Kotlin学习之运算符

    Kotlin学习之运算符 一、操作符重载 Kotlin有一些固定数量象征性的操作符,可以在任何类中使用它们。方法就...

  • 重拾Kotlin(18)-运算符重载

    一、运算符重载 Kotlin 允许为类型提供预定义的操作符实现,这些操作符具有固定的符号表示(例如 + 和 * )...

  • 如何学习python|12、条件和布尔类型

    条件语句的判断条件是==操作符的运算结果。==操作符的运算结果只有两种情况,即相等和不相等,也就是条件成立和不成立...

  • perl-two(2018-05-26)

    第一二章 一、数字运算操作符 +(加)、-(减)、*(乘)、/(除)、**(乘幂操作符)、%(取余)[也叫取模操作...

  • 在脚本中进行数字运算

    linux 的数字运算 linux 提供以下几种数字运算的方式 expr [] 通过方括号将数字运算结果赋值给变量...

  • Pyhone—入门

    布尔值 用Ture False表示 逻辑操作符 逻辑操作符的运算对象(Operands)是数字值和字符串值 我们可...

  • LeetCode 241. Different Ways to

    @(LeetCode) 问题描述 给定一个由数字和运算符组成的字符串,返回数字与运算符所有可能的组合方式的计算结果...

网友评论

      本文标题:kotlin 数字操作符运算结果不对的问题

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