• Scala 运算符


    1、运算符简介

    运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

    1. 算术运算符
    2. 赋值运算符
    3. 比较运算符(关系运算符)
    4. 逻辑运算符
    5. 位运算符

    2、算术运算符

    2.1、算术运算符介绍

    算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多

    2.2、算术运算符的一览图

     

    2.3、案例演示

    object Demo01 {
      def main(args: Array[String]): Unit = {
        // 使用 /
        var r1: Int = 10 / 3
        println(s"r1 = $r1")
        var r2: Double = 10 / 3
        println(s"r2 = $r2")
        var r3: Double = 10.0 / 3
        println("r3=" + r3.formatted("%.2f"))
    
        //%的使用
        //说明 % 计算规则是 a%b = a - a/b * b
        println(10 % 3) //1
        println(-10 % 3) // -1 //-10%3=-10 -(-10)/3 * 3 =-10 -(-3)*3= -10 -(-9)=-1
        println(-10 % -3) ////-1 // -10-(-10/-3)*(-3 )= -10 -3*(-3)=-10+9=-1
        println(10 % -3) //= 10 - 10/-3 * (-3) = 10-(-3) *(-3) =10-9 =1
        //++ --
        var n = 10
        println(n -= 1)
        println(n += 1)
      }
    
    }
    

    结果

    r1 = 3
    r2 = 3.0
    r3=3.33
    1
    -1
    -1
    1
    ()
    ()

    3、关系运算符(比较运算符)

    3.1、基本介绍

    1. 关系运算符的结果都是boolean型,也就是要么是true,要么是false
    2. 关系表达式经常用在if结构的条件中或循环结构的条件中
    3. 关系运算符的使用和java一样

    3.2、关系运算符的一览图

     

    3.3、案例演示

        var a = 9
        var b = 5
        println(a > b) //  true
        println(a >= b) //  true
        println(a <= b) //  false
        println(a == b) //  false
        println(a != b) //  true
    

    结果

    true
    true
    false
    false
    true

    3.4、说明

    1. 关系运算符的结果都是Boolean型,也就是要么是true,要么是false。
    2. 关系运算符组成的表达式,我们称为关系表达式。a>b
    3. 比较运算符“==”不能误写成“=”
    4. 使用陷阱:如果两个浮点数进行比较,应当保证数据类型一致

    4、逻辑运算符

    4.1、介绍

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

    4.2、逻辑运算符的一览图

     4.3、案例

        println(q && w)
        println(q || w)
        println(!w)
        println(!q)
    

    结果

    false
    true
    true
    false

    5、赋值运算符

    5.1、介绍

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

    5.2、赋值运算符的分类

    5.3、案例演示

     var num = 2
        num <<= 2
        println(num)
    
        num >> 3
        println(num)
        //scala 中代码块是有返回值的
        var res1 = {
          if (num >= 1) "hello wdh01" else 100
        }
        println(res1)
        //有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
        var e = 3
        var r = 2
        a = a + b
        b = a - b
        a = a - b
    

    结果

    8
    8
    hello wdh01
  • 相关阅读:
    Multipatch的Z值单位问题(三维坐标系和三维坐标转换,极坐标)
    ArcGIS城市地下管网纵横断面分析设计与实现&三维分析之DEM横断面 纵断面 剖面
    ArcScene按照属性进行拉伸Extrusion
    Python 字符串长度和字符串截取函数
    ArcGIS中Interpolater Polygon to Multipatch(3D)用法及原理——多边形转面片
    arcgis删除重复的线段
    ArcGIS如何判断直线图层的两个端点的编码是否与点图层的Name字段是否相等?
    使用ArcEngine创建Multipatch图形
    ArcGIS和VB联合开发
    ArcGIS根据属性创建3D对象
  • 原文地址:https://www.cnblogs.com/wdh01/p/16103847.html
Copyright © 2020-2023  润新知