Scala的基本运算

58 阅读2分钟

算术运算符

%:计算余数。 5%2 就是5除以2的余数,5%2= 1.

//算术运算符


// 数据类型。  7= Int
//           4= Int
//           7/4结果是Int
println(7/4)  // 7/4 = 1

println(7/4.0)  // 7/4= 1


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

注意: 7/4 = 1,7/4.0=1.75.原因是:7是整数,为Int类型,4.0是浮点数,为Double类型

关系运算符

// 关系运算符


val a:Boolean = 1 > 2

println(a)
println(7==4) //false
println(7>4)  //true
println(7!=4) //true
println(7<4)  //false
println(7>=4) //true
println(7<=4) //false

逻辑运算符

// 逻辑运算符

  &&(并且)  全为ture ==> ture
  ||(或者)  有一个ture ==> ture
  !(取反)
 

println( 1 > 2 && 3 > 4) //false
println( 2 > 1 && 4> 3) //ture


println( 1 > 2  ||  3 > 4 )  // false
println( 1 >2   ||  4 > 3) // ture

用逻辑运算符判断闰年

// 判断闰年
/*
1.让用户输入一个整数
2.判断这个年份是否闰年
3.输出结果
 */
val year:Int = scala.io.StdIn.readInt()
// 2000 ===> 闰年
// 2024 ===> 闰年
// 2025 ===> 不是闰年
// 1900 ===> 不是闰年

// 如果你定义了一个变量,并且之后不打算修改它的值,那么建议用val
var result:Boolean = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
  if(result) {
    println(s"$year 是润年")
  } else {
    println(s"$year 不是闰年")
  }

赋值运算符

// 赋值运算符

var a = 1 // 把右边的计算结果保存到左边的变量

a += 2 //  a+=2  等价于 a = a+2

a -= 3 // a-=3  等价于 a = a-3
println(a)

a *= 3
println(a) // a = 3

a /= 3
println(a) // a=0.333

a %= 5
println(a) 

位运算

常用的位运算符如下:

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. >> 右移运算符。左边补零,缩小。

// 位运算
println(5 & 4)
println(5 | 4) // 5

println(4<<2)  //16
println(4>>2)  //1

运算的优先级

// 运算的优先级
val result  = 10 - 2 + 3 * 4 / 2
println(result) //问题1  14

val a = true
val b = false
val c = false
println(a || b && c) //问题2  true

## 运算精度