12_运算符

算数运算符
* + - * \ %
* +(整号) -(负号)
* 关系运算符(比较运算符)
* == != < > <= >=
* 注意事项
* == 与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
  }

}

 




上一篇:Scala基础操作


下一篇:Scala基础