Scala基本运算

84 阅读1分钟

算数运算符

%:计算余数

println(7/4)
println(7/4.0)
println(7%4)
println(7-4)
println(7+4)
println(7*4)

注意7/4=1,7/4.0=1.75。原因是

关系运算符

==:等于,!=:不等于

println(7==4)
println(7!=4.0)
println(7>4)
println(7<4)
println(7>=4)
println(7<=4)

结果是true或false

逻辑运算符

&&:与,||:或,!:非

// 逻辑运算符
/*
&&(并且)   全部为true ==> true
||(或者)   有一个为ture ==> true
!(取反)
 */
println(1>2 && 3>4)
println(2>1 && 4>3)
println(1>2 || 3>4)
println(2>1 || 4>3)
println(!(1>2))

结果是true或false

判断闰年

判断是否是闰年需要满足任意一个条件

  1. 能够被4整除并且不能被100整除
  2. 能够被400整除
val year:Int = scala.io.StdIn.readInt()
var result: Boolean = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
if(result) {
  println(s"$year 是闰年")
} else {
  println(s"$year 不是闰年")
}

如果你定义了一个变量,并且不打算修改他的值,建议使用val

赋值运算符

var a = 1 // 把右边的计算结果保存到左边的结果
a += 2 //等价于 a = a+2  结果为3
println(a)
a -= 3
println(a)
a *= 3
println(a)
a /= 4
println(a)
a %= 5
println(a)

位运算

常用的位运算:

  1. & 按位与运算符。0&1 = 0
  2. | 按位或运算符。0|1 = 1
  3. ^ 位异
println(5 & 4)
println(5 | 4)

println(4<<2)
println(4>>2)

精度

val a = 0.1 + 0.2 == 0.3 // false
val b = 0.2 + 0.2 == 0.4
val c = BigDecimal(0.1) + BigDecimal(0.2) == BigDecimal(0.3)
println(a)
println(b)
println(c)