运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符算术运算符(arithmetic)是对数值类型的变量进行运算的。 示例:
@Test
def fun10(): Unit = {
var r1: Int = 10 / 3
println("r1=" + r1) // 3
var r2: Double = 10 / 3
println("r2=" + r2) //3.0
var r3: Double = 10.0 / 3
// 格式化输出,保留小数点 2 位并且进行四舍五入
println("r3=" + r3.formatted("%.2f")) // 3.33
var a =10;
println(a++) //报错
}
关系运算符
关系运算符的结果都是 Boolean 型,要么是 true,要么是 false。经常用在 if 结构的条件中或循环结构的条件中,关系运算符的使用和 java 一样: 说明:
- 关系运算符的结果都是Boolean型,要么是 true,要么是 false
- 关系运算符组成的表达式,我们称为关系表达式
- 比较运算符“==”不能误写成“=”
- 使用陷阱: 如果两个浮点数进行比较,应当保证数据类型一致
示例:
@Test
def fun4(): Unit = {
var a = 9
var b = 8
println(a > b) // true
println(a >= b) // true
println(a >>2) //15
}
赋值运算符
赋值运算就是将某个运算后的值,赋给指定的变量。 赋值运算符特点:
- 运算顺序从右往左
- 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值/字面量
示例:
@Test
def fun7(): Unit = {
var num = 16
num = 3
println("num=" + num) // num = 8
//有两个变量,a 和 b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
var a = 10
var b = 20
a = a + b
b = a - b
a = a - b
println(a) //20
println(b) //10
}
+号
当左右两边都是数值型时,则做加法运算 当左右两边有一方为字符串,则做拼接运算 示例:
@Test
def fun9():Unit={
println(3+5) //8
println("3"+5) //35
}
运算符优先级
- 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
- 只有单目运算符、赋值运算符是从右向左运算的。