Scala 学习入门到掌握-算术运算符[4]

    技术2022-07-10  104

    示例一:运算符使用

    object Demo01 { def main(args: Array[String]): Unit = { // / 的使用 var r1 : Int = 10 / 3 // 3 println("r1=" + r1) var r2 : Double = 10 / 3 // 3.0 println("r2=" + r2) var r3 : Double = 10.0 / 3 // 3.333333 println("r3=" + r3 ) println("r3=" + r3.formatted("%.2f") )// 3.33 // % 的使用 //1. % 的运算的原则: a % b = a - a/b * b println(10 % 3) // 1 println(-10 % 3) // -1 // -10 % 3 = (-10)- (-3) * 3 = -10 + 9 = -1 println(-10 % -3 ) // -1 // -10 % -3 = (-10)- (3) * -3 = -10 + 9 = -1 println(10 % -3 ) // 1 // ++ 和 -- // 说明,在scala中没有 ++ 和 --, 而使用 +=1 和 -= 1 var num1 = 10 //num1++ 错误 num1 += 1 // 替代 num1++ //num-- 错误 num1 -= 1 // 替代 num1-- println(num1) } }

    实列二:算数练习

    object Exercise01 { def main(args: Array[String]): Unit = { /* 假如还有97天放假,问:xx个星期零xx天 1.搞清楚需求(读题) 2.思路分析 (1) 变量保存97 (2) 使用 /7 得到 几个星期 (3) xx天 使用 % 3.代码实现 */ val days = 97 printf("统计结果是 %d个星期零%d天", days / 7, days % 7) /* 定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100), 请求出华氏温度对应的摄氏温度。[测试:232.5] 分析 1. 变量保存华氏温度, 变量保存摄氏温度 2. 公式有,就直接套用 */ val huashi = 232.5 val sheshi = 5.0 / 9 * (huashi - 100) println("对应的摄氏温度" + sheshi.formatted("%.2f")) } }

    示例三

    object Demo01 { def main(args: Array[String]): Unit = { var num = 2 num <<= 2 // num = 8 num >>= 3 // num = 4 println("num=" + num) //在scala中支持代码块,返回值 val res = { if (num > 1) "hello,ok" else 100 } println("res=" + res) //有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果 var a = 10 var b = 20 a = a + b b = a - b // ==>(a+b)-b = a a = a - b // ==>(a+b)-a = b //位运算。。 } }

    实例四:object对象方法的调用

    object Demo01 { def main(args: Array[String]): Unit = { /* 要求:可以从控制台接收用户信息,【姓名,年龄,薪水】 */ println("请输入姓名") val name = StdIn.readLine() println("请输入年龄") val age = StdIn.readInt() println("请输入薪水") val sal = StdIn.readDouble() printf("用户的信息为 name=%s age=%d sal=%.2f", name, age, sal) //Cat.sayHi() //Cat.sayHello() //Cat.sayHi() hi() } //定义方法 def hi(): Unit = { println("hi") } } //声明了一个对象(伴生对象), 讲解oop时,还要深入系统的讲解 object Cat extends AAA { //方法 def sayHi(): Unit = { println("小狗汪汪叫....") } } trait AAA { //AAA是特质,等价于java中的interface + abstract class def sayHello(): Unit = { println("AAA sayHello") } }

    实例五:分支计算

    object Demo01 { def main(args: Array[String]): Unit = { val num = if (5 > 4) 5 else 4 //val num2 = 5 > 4 ? 5 : 4 错误 /** * 案例1:求两个数的最大值 * 案例2:求三个数的最大值 * */ val n1 = 4 val n2 = 8 var res = if (n1 > n2) n1 else n2 println("res=" + res) val n3 = 11 res = if (res > n3) res else n3 println("res=" + res) //,运算 println("hello", "abc" + " uuu", "kkk") } }
    Processed: 0.017, SQL: 9