zoukankan      html  css  js  c++  java
  • 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
      }
    }
    

    位运算符

  • 相关阅读:
    Substrings(hdu 4455)
    打砖块(codevs 1257)
    AFO
    愿 你 出 走 半 生 , 归 来 仍 是 少 年
    洛谷 2691逃离
    51Nod 1021 石子归并
    洛谷 P3047 [USACO12FEB]附近的牛Nearby Cows
    codevs 2072 分配房间
    codevs 1388 砍树
    codevs 1288 埃及分数
  • 原文地址:https://www.cnblogs.com/Gazikel/p/15758239.html
Copyright © 2011-2022 走看看