Scala的位运算符
//位运算
/**
* 10进制 2进制
* 0 0
* 1 1
* 2 10
* 3 11
* 4 100
* 5 101
* 6 110
* & 按位与运算符 0 & 1 = 0,1 & 0 = 0,0 & 0 = 0,1 & 1 = 1
* | 按位或运算符 0 | 1 = 1,1 | 0 = 1,0 | 0 = 0,1 | 1 = 1
*/
Scala中运算符的优先级
先乘除 后加减
val result = 10 - 2 + 3 * 4 / 2
println(result) ----14
<!---->
val a = true
val b = false
val c = false
println(a || b && c) ----true
- 乘(*) 除(/) 模(%) >加(+) 减(-)
- 算术(+ - * / %) > 关系(> < >= !=) > 赋值(=)
- && > | |
精度问题
object Base10 {
def main(args: Array[String]): Unit ={
val a = 0.1
val b = 0.2
val c = 0.3
println(a + b == c) //false
println(1 + 2 == 3) //ture
println(0.1 + 0.2 == 0.3) //false
println(BigDecimal(0.1) + BigDecimal(0.2) == BigDecimal(0.3)) //true
println(0.1 + 0.1 == 0.2) //true
}
}
if语句
练习题
1.
object Base13 {
def main(args: Array[String]): Unit ={
print("请输入正方形的边长 a:")
val a = scala.io.StdIn.readInt()
print("请输入长方形的长 b:")
val b = scala.io.StdIn.readInt()
print("请输入长方形的宽 c:")
val c = scala.io.StdIn.readInt()
if(b*c > a*a){
println("长方形面积大")
}else if(b*c < a*a){
println("正方形面积大")
}else {
println("一样大")
}
}
}
object Base14 {
def main(args: Array[String]): Unit ={
print("请输入分数:")
val a = scala.io.StdIn.readInt()
if(a >= 90 && a <= 100){
println("A等")
}else if(a >= 80 && a <= 89){
println("B等")
}else if(a >= 70 && a <= 79){
println("C等")
}else if(a >= 60 && a <= 69) {
println("D等")
}else if(a >= 0 && a <= 59) {
println("E等")
}else {
println(false)
}
}
}
最后一个else在语法上是可以省略的