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

示例一:运算符使用

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")
  }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值