16. 运算符

作者: 厚土火焱 | 来源:发表于2017-11-14 17:33 被阅读98次

kotlin支持的运算符 +, -, *, /, %,=,+=, -=, *=, /=, %=, ++, --, &&, ||, !, ==, !=, ===, !==, <, >, <=, >=, ... 详情参考kotlin网站
运算符本质上是一个函数。








kotlin的运算符可以重载
比如我们可以给 “+” 增加更多的计算能力
建一个复数类,然后增加多个计算方法
class Complex(var real: Double, var imaginary: Double) {
    operator fun plus(other: Complex): Complex {
        return Complex(real + other.real, imaginary + other.imaginary)
    }
    
    operator fun plus(other: Int): Complex{
        return Complex(real+other, imaginary)
    }

    operator fun plus(other: Any): Any{
        return "$real + ${imaginary}i" + "+" + other.toString()
    }
    override fun toString(): String {
        return "$real + ${imaginary}i"
    }
}

这样,就可以用 + 来实现复数和整数相加,以及复数和任意其他类型相加了。和整数相加,我们只对 real 进行计算,然后把 imaginary 部分保持不变。任意其他类型,我们用 String 类型来做例子。把原复数给出再加上后要相加的字符串。

fun main(args: Array<String>) {
    var c1 = Complex(3.0, 4.0)
    var c2 = Complex(5.3, 9.8)
    println("($c1) + ($c2) = " + (c1 + c2))
    println(c2 + 5)
    println(c1 + "这是奇怪的加法")

}

这些加法的输出是

(3.0 + 4.0i) + (5.3 + 9.8i) = 8.3 + 13.8i
10.3 + 9.8i
3.0 + 4.0i+这是奇怪的加法

相关文章

  • 16. 运算符

    kotlin支持的运算符 +, -, *, /, %,=,+=, -=, *=, /=, %=, ++, --, ...

  • 16.什么是运算符

    运算符用于执行程序代码运算

  • 16.三目运算符

    ? : -->if eles里面加return 条件判断 ? 是 : 否 并且会返回相应的值 1 > 0 ? "...

  • 2016.9.8 AM 课堂笔记 Shell 脚本

    16.字符串运算符 = :判断两个字符串是否相等 != :判断两个字符串不相等-z :判断字符串长度是否为0,为0...

  • python常用运算符的使用

    python七类运算符 算术运算符比较运算符逻辑运算符赋值运算符成员运算符身份运算符位运算符 赋值运算符 运算符描...

  • 运算符与字符串

    运算符 算数运算符、比较运算符、赋值运算符、逻辑运算符比较运算符:>、<、>=、<=、==、!=赋值运算符:=、+...

  • 4. Python运算符

    算数运算符 加法运算符: + 减法运算符: - 乘法运算符: * 除法运算符: / 幂运算符: ** 整除运算符:...

  • Golang——运算符和格式化输出

    运算符 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其他运算符 算术运算符 + 相加- 相减* ...

  • Go语言基础之运算符

    运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符描...

  • 2018年6月13日【Python学习笔记】

    一、运算符 运算符:算数运算符、比较运算符、赋值运算符、逻辑运算符 1.比较运算符:>、<、>=、<=、==、!=...

网友评论

    本文标题:16. 运算符

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