【Scala】(三)Scala 基础之运算符

一、运算符介绍

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

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符

二、算术运算符

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

scala> var r1:Int = 10/3
r1: Int = 3

scala> var r2:Double = 10/3
r2: Double = 3.0

scala> var r2:Double = 10.0/3
r2: Double = 3.3333333333333335

scala> var r3 = r2.formatted("%.2f")
r3: String = 3.33

细节说明:

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

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

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

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

基本介绍

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

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

  • 关系运算符的使用和java一样
    在这里插入图片描述
    细节说明

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

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

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

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

四、逻辑运算符

介绍

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

逻辑运算符一览

假定变量 A 为 true,B 为 false
在这里插入图片描述

scala> var a = true
a: Boolean = true

scala> var b = false
b: Boolean = false

scala> a && b
res15: Boolean = false

scala> a || b
res16: Boolean = true

scala> !(a && b)
res17: Boolean = true

五、赋值运算符

介绍

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

赋值运算符的分类
在这里插入图片描述
赋值运算符的分类
在这里插入图片描述
说明:这部分的赋值运算涉及到二进制相关知识,其运行的规则和Java一样。

scala> var a = 10
a: Int = 10

scala> var b = 99
b: Int = 99

scala> val t = a
t: Int = 10

scala> a = b
a: Int = 99

scala> b = t
b: Int = 10

赋值运算符特点

  • 运算顺序从右往左
  • 赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值/字面量
  • 复合赋值运算符等价于下面的效果
    比如:a+=3 等价于a=a+3

六、位运算符

在这里插入图片描述

运算符的特别说明

Scala不支持三目运算符 , 在Scala 中使用 if – else 的方式实现。
val num = 5 > 4 ? 5 : 4 //没有
val num = if (5>4) 5 else 4

运算符优先级

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

  2. 只有单目运算符、赋值运算符是从右向左运算的。

  3. 运算符的优先级和Java一样。

小结运算符的优先级
1.() []
2.单目运算
3.算术运算符
4.移位运算
5.比较运算符(关系运算符)
6.位运算
7.关系运算符
8.赋值运算
9., 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值