运算符的定义:
运算符实际上就是一个特殊的符号,使用运算符,可以将一个或多个操作数练成可执行的语句,用于实现不同的功能。
[讲述]
按照对数据操作的功能不同,我们可以把Scala运算符分为以下几大类。
算术运算符:只能用来做加、减、乘、除等算术运算。关系运算符:用来对数值进行比较,比如>、<=、>=等。
逻辑运算符:包含逻辑与、逻辑或、逻辑非三种运算符,也是用于比较的。
位运算符:用于对二进制数的位进行左移、右移、取反等操作。·赋值运算符:用于将一个值进行赋值,例如=、+=、一=等。
算术运算符:
案例:对于数字“1234”,只使用10,/,%组合,如何得到4?3?2?1?
答案:1234%10
4
1234/10%10
3
1234/10/10%10
2
1234/10/10/10%10
1
关系运算符:
举例:5==5.0,结果为true,运算只看值,不看类型
逻辑运算符:
Scala中的逻辑运算符与Java中一样,也是与、或、非三中情况,分别如下:
与:运算表达式有一个为假,则整个表达式为假。
或:运算表达式有一个文章,则整个表达式为真。
非:就是取反的意思,与参与表达式相反。
案例:
[学生练习]判断一个年份是否是闰年根据国际标准,一个年份被视为闰年的条件是,如下条件满足任意一个:
(1)能够被4整除,并且不能被100整除的年份是闰年。
(2)能够被400整除的年份同样也是闰年
答案:var y=2024
(y%4==0&&y%100!=0)||y%400==0
短路运算:
短路运算的核心思想是:由&&或‖运算符构建出来的表达式,只会对整个运算结果有决定作用的部分进行求值。
Scala 的短路运算法则:result=表达式1 运算符 表达式2
·运算符为&&时:如果表达式1为false,则result=false,也就是说此时表达式1能够决定整个与运算的值,因此不会再去求表达式2的值。
·运算符为||时:如果表达式1为true,则result=true,也就是说此时表达式1能够决定整个或运算的值,因此不会再去求表达式2的值。
而对于非短路运算而言,不管是与运算还是或运算,不管表达式1是true还是false(即使此时的表达式1已经能够决定整个运算的结果),都会对表达式2的值进行运算,然后再根据表达式1的值和表达式2的值综合判断出整个运算的结果。