object tys08 {
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) //
}
}
结果为3,2,6,1,1。
object tys09 {
def main(args: Array[String]): Unit = {
println(s"6&2=${6&2}")
println(s"6|2=${6|2}")
}
}
6&2=2 6|2=6
常用的位运算符如下:
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. << 左移运算符。右边补零,放大。>> 右移运算符。左边补零,缩小。
如果记不清楚,可以使用()来调整。[补充明细如下]
| 优先级 | 运算符 | 关联性 | ||
|---|---|---|---|---|
| 1 | () [] | 从左到右 | ||
| 2 | ! ~ | 从右到左 | ||
| 3 | * / % | 从左到右 | ||
| 4 | + - | 从左到右 | ||
| 5 | >> >>> << | 从左到右 | ||
| 6 | > >= < <= | 从左到右 | ||
| 7 | == != | 从左到右 | ||
| 8 | & | 从左到右 | ||
| 9 | 从左到右 | |||
| 10 | 从左到右 | |||
| 11 | && | 从左到右 | ||
| 12 | 从左到右 | |||
| 13 | = += -= *= /= %= >>= <<= &= ^= | = | 从右到左 | |
| 14 | , | 从左到右 |
val result = 10 - 2 + 3 * 4 / 2
println(result) // 问题1
val a = true
val b = false
val c = false
println(a || b && c) // 问题2
结果为14,true
[讲解]基本规则:
1. 乘(*)除(/)模(%) > 加(+)减(-)
2. 算术(+-*/%) > 关系(><>=!=) > 赋值(=)
3. && > ||
val a = 0.1
val b = 0.2
val c = 0.3
println(a+b==c)
false
val a = 0.1
val b = 0.2
val c = 0.3
println(BigDecimal(a)+BigDecimal(b)==BigDecimal(c))
TRUE
object tys10 {
def main(args: Array[String]): Unit = {
var a = 2147483647
var b = 1
//**var c = (a + b)/2**//
var c = a - (a-b)/2
println(c)
}
}
高手计算平均数
object tys11 {
def main(args: Array[String]): Unit = {
// 从键盘输入一个年龄,判断是否成年
print("请输入年龄:")
val age = scala.io.StdIn.readInt()
if (age >= 18) {
println("成年")
} else {
println("未成年")
}
}
}
计算年龄是否成年
object tys12 {
def main(args: Array[String]): Unit = {
println("请输入正方形的边长a:")
val a = scala.io.StdIn.readDouble()
println("请输入长方形的长b:")
val b = scala.io.StdIn.readDouble()
println("请输入长方形的宽c:")
val c = scala.io.StdIn.readDouble()
val square = a * a
val rectangle = b * c
if (square > rectangle) {
println("SQUARE")
} else if (square < rectangle) {
println("RECTANGLE")
} else {
println("SAME")
}
}
}
计算图形面积并比较大小
object tys13 {
def main(args: Array[String]): Unit = {
print("请输入分数:")
val score = scala.io.StdIn.readDouble()
if (score >= 90 && score<=100) {
println("A")
} else if (score >= 80 && score<90) {
println("B")
} else if (score >= 70 && score<80) {
println("C")
} else if (score >= 60 && score<70) {
println("D")
} else if (score >= 0 && score<60) {
println("E")
}
}
}
判断分数区间