Scala的算术运算符
Scala中的算术运算符:+ , - , * , /(除号),%(取余)
object base05 {
def main(args: Array[String]): Unit = {
println (2+1) // 3
println (2-1) // 1
println (2*3) // 6
println ( 5/2 ) // 5 除以 2 = 2? 不是 2.5?
// Int / Int 结果还是 Int
println(5/2.0) // Int / Double 结果还是double
println (5%2) // 1 模,取余 5 除以 2 的余数。
println (123%10) // => 3
}
}
结果如图:
Scala的关系运算符
关系运算符会得到Bool值。scala中的关系运算符如下:
“==” 等于
“!=” 不等于
“>” 大于
“<” 小于
“>=” 大于等于
“<=” 小于等于
object base06 {
def main(args: Array[String]): Unit = {
var b = 1 == 2 // false
println(3 == 2) // false
println(3 != 2) // true
println(3 > 2) // true
println(3 < 2) // false
println(3 >= 2) // true
println(3 <= 2) // false
}
}
结果如图:
Scala的逻辑运算符
Scala中的逻辑运算跟Java中一样,也是与、或、非三种情况,分别介绍如下
与: &&运算表达式有一个为假,则整个表达式为假。
或: ||运算表达式有一个为真,则整个表达式为真。
非: !就是取反的意思,与参与表达式相反。
object base07 {
def main(args: Array[String]): Unit = {
//逻辑运算符
//与: &&运算表达式有一个为假,则整个表达式为假。
// var a = 1 > 2 && 2 < 3 //false
// println(a)
println(2>1 && 3>2 && 4>3) //true
println(2>1 && 3>2 && 4>5) //false
//或: ||运算表达式有一个为真,则整个表达式为真。
println(2>1 || 2<1) //true
println(2>3 || 2<1 || 3>5) //false
//非: !就是取反的意思,与参与表达
println(2>1)
var a = 2 > 1 // true
println( !a ) // false
println( !(2 > 1) ) // false
}
}
结果如图:
判断一个年份是否是闰年 根据国际标准,一个年份被视为闰年的条件是,如下条件满足任意一个:
(1)能够被4整除,并且不能被100整除的年份是闰年。
(2)能够被400整除的年份同样也是闰年。
object base08 {
def main(args: Array[String]): Unit = {
// 输入的年份,判断是否为闰年
print("请输入年份:")
val year = scala.io.StdIn.readInt()
val result:Boolean = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
// 输出结果
if (result) {
println(s"$year 是闰年")
} else {
println(s"$year 不是闰年")
}
}
}
结果如图:
任务:求4位数中的各个位数上的值。例如 var a = 1234 如何得到1,2,3,4?
object base08 {
def main(args: Array[String]): Unit = {
var a = 1234
// 获取千位数字
println(a / 1000) // 1
// 获取百位数字
println((a / 100) % 10) // 2
// 获取十位数字
println((a / 10) % 10) // 3
// 获取个位数字
println(a % 10) // 4
}
}
结果如图:
(五Scala的短路运算
短路运算的核心思想是:由&&或||这两个运算符构建出来的表达式,只会对整个运算结果有决定作用的部分进行求值
Scala的短路运算法则:result=表达式1 运算符 表达式2
运算符为&&时:如果表达式1为false,则result=false,也就是说此时表达式1能够决定整个与运算的值,因此不会再去求表达式2的值
运算符为||时:如果表达式1为true,则result=true,也就是说此时表达式1能够决定整个或运算的值,因此不会再去求表达式2的值
(六)Scala的赋值运算符
= 简单的赋值运算,指定将右边操作数赋值给左边的操作数
+= 相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数
-= 相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数
*= 相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数
/= 相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数
%= 求余后再赋值,将左右两边的操作数进行求余操作后再赋值给左边的操作数
def main(args: Array[String]): Unit = {
// 赋值运算符
var a = 1 // 把右边的计算结果保存到左边的变量
a += 2 // a+=2 等价于 a = a+2
println(a) //
a -= 1 // a-=1 等价于 a=a-1
println(a) //
a *= 3
println(a) //
a /= 4
println(a) //
a %= 5
println(a) //
}
printfln( a )