算数运算符
*     + - * \ %
*     +(整号) -(负号)
*  关系运算符(比较运算符)
*     == != < > <= >=
*   注意事项
*      == 与java 的区别 (String)
*         java 中判断是两个对象的地址指针,equals判断的是 字面量的内容
*         Scala 中判断的是 字面量的内容
逻辑运算符
*      && || !
*  赋值运算符
*    = += -+ *= \= %= <<= >>= &= ^= |=
*    注意事项
*    Scala中没有++ 和 --
位运算符
*    & 按位与
*    | 按位或
*    ^ 按位异或
*    ~ 按位取反
*    << 左移运算符
*    >> 右移运算符
*    >>> 无符号右移动
*   连接 : https://www.cnblogs.com/bajiaotai/p/15114353.html
*
Scala运算符本质
*     说明 : 在Scala中没有运算符,所有运算符都是对象方法的调用
*     示例 : Int.scala
*           def +(x: Byte): Int
*           def +(x: Short): Int
*     省略原则
*         1. 对象调用方法是 .可以省略 对象名称 方法名称
*         2. 当方法参数只有一个或者没有时,()可以省略
*     代码示例 : 创建数据类型 加法模拟
/**
  * @author gaocun
  * @create 2021-10-17 10:18 AM */
object 运算符_01 {
  /*
  *  算数运算符
  *     + - * \ %
  *     +(整号) -(负号)
  *  关系运算符(比较运算符)
  *     == != < > <= >=
  *   注意事项
  *      == 与java 的区别 (String)
  *         java 中判断是两个对象的地址指针,equals判断的是 字面量的内容
  *         Scala 中判断的是 字面量的内容
  *  逻辑运算符
  *      && || !
  *  赋值运算符
  *    = += -+ *= \= %= <<= >>= &= ^= |=
  *    注意事项
  *    Scala中没有++ 和 --
  *  位运算符
  *    & 按位与
  *    | 按位或
  *    ^ 按位异或
  *    ~ 按位取反
  *    << 左移运算符
  *    >> 右移运算符
  *    >>> 无符号右移动
  *   连接 : https://www.cnblogs.com/bajiaotai/p/15114353.html
  *
  *   Scala运算符本质
  *     说明 : 在Scala中没有运算符,所有运算符都是对象方法的调用
  *     示例 : Int.scala
  *           def +(x: Byte): Int
  *           def +(x: Short): Int
  *     省略原则
  *         1. 对象调用方法是 .可以省略 对象名称 方法名称
  *         2. 当方法参数只有一个或者没有时,()可以省略
  *     代码示例 : 创建数据类型 加法模拟
  * */
  def main(args: Array[String]): Unit = {
    //算数运算符
    var d1 = 10.0 / 3
    println(d1)
    //保留小数 (四舍五入)
    println(d1.formatted("%.2f"))
    //关系运算符(比较运算符)
    val s1: String = "dawang"
    val s2: String = "dawang"
    var s3: String = new String("dawang")
    var s4: String = new String("dawang")
    println(s1 == s2)
    println(s3 == s4)
    //    java
    //    String s1 = new String("dawang");
    //    String s2 = new String("dawang");
    //    System.out.println(s1 == s2); //false
    //    System.out.println(s1.equals(s2)); //true
    //逻辑运算符
    val bo1: Boolean = true
    val bo2: Boolean = false
    println(bo2 && if_ok()) // 当判断bo2为false后,将不会在执行&&后面的代码
    println(bo1 || if_ok()) // 当判断bo1为true后,将不会在执行||后面的代码
    def if_ok() = {
      println("if_ok函数 run")
      true
    }
    //位运算符
    //c测试连接: https://www.cnblogs.com/bajiaotai/p/15114353.html
    //Scala运算符本质
    /*
    * 创建 DaWang 数据类型,添加+方法
    * */
    val id: Byte = 1
    var num: Dawang = new Dawang(10)
    //标准调用
    var result1: Int = num.+(id)
    //1. 对象调用方法是 .可以省略 对象名称 方法名称
    var result2: Int = num + (id)
    //2. 当方法参数只有一个或者没有时,()可以省略
    var result3: Int = num + id
    println(result1)
    println(result2)
    println(result3)
  }
}
/**
  * @author gaocun
  * @create 2021-10-17 11:06 AM
  **/
class Dawang(id: Int) {
  // 加法模拟
  def +(x: Byte): Int = {
    id + x
  }
}