• Scala运算符


    运算符

    算数运算符

    运算符 运算 范例 结果
    + 正号 +3 3
    - 负号 b=4; -b -4
    + 5 + 5 10
    - 6 - 4 2
    * 3 * 4 12
    / 12 / 4 3
    % 取模(取余) 7 % 5 2
    + 字符串相加 "He" + "llo" "Hello"
    object Test01_Operator {
      def main(args: Array[String]): Unit = {
        // 算数运算符
        val result1: Int = 10 / 3
        println(result1) // 3
    
        val result2: Double = 10 / 3
        println(result2) // 3
    
        val result3: Double = 10.0 / 3
        println(result3) // 3.333
        println(result3.formatted("%.2f"))
      }
    }
    

    关系运算符

    运算符 运算 范例 结果
    == 相等于 4 == 3 false
    != 不等于 4 != 3 true
    < 小于 4 < 3 false
    > 大于 4 > 3 true
    <= 小于等于 4 <= 3 false
    >= 大于等于 4 >= 3 true
    package chapter03
    
    object Test01_Operator {
      def main(args: Array[String]): Unit = {
        // 比较运算符
        val s1: String = "hello"
        val s2: String = new String("hello")
        // 在scala中使用==比较字符串已经就是比较内容了,而不是内存
        println(s1 == s2)
        // 判断s1和s2的引用地址
        println(s1.eq(s2))
      }
    }
    

    逻辑运算符

    用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个Boolean值。

    运算符 描述 实例
    && 逻辑与 A&&B
    || 逻辑或 A||B
    逻辑非 !A

    具有短路特性

    package chapter03
    
    object Test01_Operator {
      def main(args: Array[String]): Unit = {
        // 逻辑运算符
        // 判断一个字符串是否为空
        def isNotEmpty(str: String): Boolean = {
          return str != null && str.trim == ""
        }
        println(isNotEmpty(null))
      }
    }
    

    赋值运算符

    赋值运算符就是将某个运算后的值,赋给指定的变量。

    运算符 描述 实例
    = 简单的赋值运算符,将一个表达式的值赋给一个左值 C = A + B
    += 相加后再赋值 C += A => C = C + A
    -= 相减后再赋值 C -= A => C = C - A
    *= 相乘后再赋值 C *= A => C = C * A
    /= 相除后再赋值 C /= A => C = C / A
    %= 求余后再赋值 C %= A => C = C % A
    <<= 左移后赋值 C <<= 2 => C = C << 2
    >>= 右移后赋值 C >>= 2 => C = C >> 2
    &= 按位与后赋值 C &= 2 => C = C & 2
    ^= 按位异或后赋值 C ^= 2 => C = C ^ 2
    |= 按位或后赋值 C |= 2 => C = C | 2

    Scala中没有++, --这样的自增自减操作

    package chapter03
    
    object Test01_Operator {
      def main(args: Array[String]): Unit = {
        // 赋值运算符
        var a: Byte = 10
        var b: Int = 12
    
    //    a += 1  // error
        b += 1
        println(b)
    //    b++ // error
      }
    }
    

    位运算符

  • 相关阅读:
    CodeSmith快速向导
    生活忠告
    MSF 组队模型
    Javascript 全面理解 caller,callee,call,apply
    Sys.WebForms.PageRequestManagerServerErrorException(status code 500 OR 12031)
    经典问题:向setTimeout传递函数参数
    [转]JavaScript面向对象的特性
    数据库设计的体会
    Geomedia性能
    关于在SVG中如何实现gif动画的问题?
  • 原文地址:https://www.cnblogs.com/Gazikel/p/15758239.html
Copyright © 2020-2023  润新知