04基本运算

68 阅读4分钟

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

  }

}

结果如图:

image.png

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

  }

}

结果如图:

屏幕截图 2025-09-11 082449.png

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
  }

}

结果如图:

屏幕截图 2025-09-11 083858.png

判断一个年份是否是闰年 根据国际标准,一个年份被视为闰年的条件是,如下条件满足任意一个:

(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 不是闰年")
    }
  }
}

结果如图:

屏幕截图 2025-09-11 085827.png

任务:求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
  }
}

结果如图: 屏幕截图 2025-09-11 092257.png

(五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 )