二、Scala 运算符

目录

1、算术运算符

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

3、逻辑运算符

4、赋值运算符

5、位运算符

6、运算符使用注意事项


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

1、算术运算符

(1)算术运算符一览

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4; -b

-4

+

5+5

10

-

6-4

2

*

3*4

12

/

5/5

1

%

取模(取余)

7%5

2

+

字符串相加

“He”+”llo”

“Hello”

(2)细节说明

  • 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:var x : Int = 10/3 ,结果是  3

  • 当对一个数取模时,可以等价 a%b=a-a/b*b , 这样我们可以看到取模的一个本质运算(和java 的取模规则一样)。

  • 注意:Scala中没有++、--操作符,需要通过+=、-=来实现同样的效果

    //    /
    var r1 : Int = 10 / 3  //3
    var r2 : Double = 10 / 3 //3.0
    var r3 : Double = 10.0 / 3 //3.33333
    println("r3=" + r3.formatted("%.2f") ) // 3.33
    //  %
    println(10 % 3)  //1
    println(-10 % 3) //-1 -> -10 % 3 = (-10) -( -10 / 3) * 3 = -1
    println(-10 % -3) //-1 ->-10 % 3 = (-10) -( -10 / -3) * -3 = -1
    println(10 % -3) //1
    // ++ --
    var num1 = 10
    num1 += 1
    num1 -=1

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

(1)基本介绍

  • 关系运算符的结果都是boolean型,也就是要么是true,要么是false

  • 关系表达式 经常用在 if结构的条件中或循环结构的条件中

  • 关系运算符的使用和java一样

(2)关系运算符一览

(3)细节说明

  • 关系运算符的结果都是Boolean型,也就是要么是true,要么是false。

  • 关系运算符组成的表达式,我们称为关系表达式。 a > b

  • 比较运算符“==”不能误写成“=”

  • 使用陷阱: 如果两个浮点数进行比较,应当保证数据类型一致.

3、逻辑运算符

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

(1)逻辑运算符一览

假定变量 A 为 true,B 为 false

4、赋值运算符

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

(1)赋值运算符的分类

(2)赋值运算符特点

  • 运算顺序从右往左

  • 赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值/字面量

  • 复合赋值运算符等价于下面的效果, 比如:a+=3 等价于a=a+3

    var num = 2
    num <<= 2 //左移两位,num *( 2 * 2)即 左移为原数字乘以2的移动位数次方
    num >>= 1 //右移1位 num / (2 * 1)即 右移为原数字除以2的移动位数次方
    println( num)
    //  scala 支持代码块,返回值
    val res = {
      var value = 0
      if(true) value=100
      value
    }
    println(res)

5、位运算符

val a = 10

val b = 20

6、运算符使用注意事项

(1)运算符的特别说明

Scala不支持三目运算符 , 在Scala 中使用 if – else 的方式实现。

val num = 5 > 4 ? 5 : 4  //没有

val num = if (5>4) 5 else 4

(2)运算符优先级

运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。

(3)只有单目运算符、赋值运算符是从右向左运算的。

(4)运算符的优先级和Java一样。

(5)运算符的优先级小结

  1. () []
  2. 单目运算
  3. 算术运算符
  4. 移位运算
  5. 比较运算符(关系运算符)
  6. 位运算
  7. 关系运算符
  8. 赋值运算
  9. ,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值