Scala关于运算符问题

笑着哭i 提交于 2020-03-10 21:54:58

操作符

  • 这部分内容没有必要刻意去理解和记忆, 语法使用的多了,自然就会产生感觉,该部分内容暂时大致了解一下即可。
  1. 如果想在变量名、类名等定义中使用语法关键字(保留字) ,可以配合反引号:
val `val` = 42
  1. 这种形式叫中置操作符, A 操作符 B 等同于 A.操作符(B)
  2. 后置操作符, A 操作符等同于 A.操作符,如果操作符定义的时候不带()则调用时不能加括号
    1. 无参函数不省略小括号,调用函数加不加小括号都行
    2. 无参函数省略小括号,调用函数一定不能加小括号 目的是为了访问一致性,都像属性
  3. 前置操作符, +、 -、!、 ~等操作符 A 等同于 A.unary_操作符 unary**(一元运算符)函数的声明规则 为 def unary_函数名={函数体}**
  4. 赋值操作符, A 操作符=B 等同于 A=A 操作符 B
  def main(args: Array[String]): Unit = {
    val ot = new OpTest
    ot++()  //后置运算符 定义了一个方法
    ot.+
    !ot //前置运算符
  }

  class OpTest{
    def ++():Unit={
      println("+++++++++++")
    }

    def + :Unit={
      println("=================")
    }

    def unary_! : Unit = {    // def unary_函数名={函数体}
      println("!!!!!!!!!!!!!!!!!!!!!!")
    }

+++++++++++
=================
!!!!!!!!!!!!!!!!!!!!!!
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!