算术运算符
符号:+、-、*、/、%
//算术运算符
// 7:Int
// 4:Int
// 7/4的结果是Int
println(7/4) // 7/4 = 1
println(7/4.0) // 7/4 = 1.75
println(7%4) //3
println(7-4) //3
println(7+4) //11
println(7*4) //28
注意:'7/4 = 1', '7/4 = 1.75'.。原因是:4为Int类型,4.0为Double类型。
关系运算符
符号:> < != >= <= ==
def main(args: Array[String]): Unit = {
// 关系运算符:> < == >= <= !=
// false ture
println(7==4) // false
println(7>4) // ture
println(7<4) // false
println(7>=4) // ture
println(7<=4) // false
println(7!=4) // ture
}
逻辑运算符
符号:
&&:与(并且)
||:或(或者)
!:非(取反)
def main(args: Array[String]): Unit = {
// 逻辑运算符
/*
&& //与,全部为ture ====> ture
|| //或,有一个为ture ====> ture
!
*/
// println(1 > 2 && 3 > 4)
// println(2 > 1 && 4 > 3)
// println(1 > 2 || 3 > 4 || 5 > 6) //false
// println(1 > 2 || 4 > 3) //ture
println(1 > 2) //false
}
练习
判断一个年份是否是闰年 根据国际标准,一个年份被视为闰年的条件是,如下条件满足任意一个:
(1)能够被4整除,并且不能被100整除的年份是闰年。
(2)能够被400整除的年份同样也是闰年。
def main(args: Array[String]): Unit = {
// 练习:判断闰年
/*
1.让用户输入一个整数,表示年份
2.判断这个年份是否闰年
3.输出结果
*/
def isLeapYear(year: Int): Boolean = {
// 规则1:能被4整除且不能被100整除
// 规则2:能被400整除
(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
}
val testYears = List(2000, 1900, 2020, 2021, 2024)
testYears.foreach { year =>
val result = if (isLeapYear(year)) "是" else "不是"
println(s"年份 $year $result 闰年")
}
}
赋值运算符:
=、+=、-=、*=、/=、%=
例:
def main(args: Array[String]): Unit = {
// 赋值运算符
var a = 1 //把右边的计算结果保存到左边的变量
a += 2 // a+=2 等价于 a = a+2
println(a) // 3
a -= 3 // a-=3 等价于a=a-3
println(a) // 0
a *= 3 // a*=3 等价于a=a*3
println(a) // 0
a /= 3 // a/=3 等价于a=a/3
println(a) // 0
a %= 3 // a%3 等价于a=a%3
println(a) // 0
}
scala位运算符
1. & 按位与运算符。0&1 = 0, 1&0= 0 , 0&0 = 0, 1&1 = 1
2. | 按位或运算符。0|1 = 1, 1|0= 1 , 0|0 = 0, 1|1 = 1
3. ^ 按位异或运算符。0^1 = 1, 1^1= 0, 0^0 = 0
4. ~ 按位取反运算符
5. << 左移运算符。右边补零,放大。
6. >> 右移运算符。左边补零,缩小。