寒假学习日报(二十七)

  今日学习:《机器学习十讲》第十讲,scala学习

  Scala:

package com.chapter01.dataconvert

object Demo01 {
  def main(args: Array[String]): Unit = {
    var n1 = 10
    var n2 = 1.1f
    //小转大,因此n3此时为Float类型
    var n3 = n1 + n2
    //(byte,short)与char之间不会自动转换类型
    var n4: Byte = 10
    //var c1: Char = n4会报错
  }
}
package com.chapter01.dataconvert

object IdenDemo {
  def main(args: Array[String]): Unit = {
    var ++ = "helloworld"
    println(++)
    val -+*/ = 100
    println(-+*/)
    println("=================")

    // / 的使用
    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.333..
    println("r3=" + r3)
    println("r3=" + r3.formatted("%.2f"))
    println("=================")

    // % 的使用
    // % 的原则:a % b = a - a/b * b
    println(10 % 3) //1
    println(-10 % 3)  //-1
    println(-10 % -3) //-1
    println(10 % -3)  //1

    //scala中没有++ --
    //使用+= -=替代
    var num = 1
    num += 1
    num -= 1
  }
}

package com.chapter01.dataconvert

object assignoper {
  def main(args: Array[String]): Unit = {
    var num = 3
    //左移后赋值
    num <<= 2
    println("num<<=" + num) //num*2的2次方
    //右移后赋值
    num >>= 1
    println("num>>=" + num) //num/2的1次方

    var num1 = 21
    //按位与后赋值
    num1 &= 21 //按位与后赋值,二进制运算,相异位为0
    println("num1&=" + num1)
    num1 ^= 20  //按位异或后赋值,二进制运算,相同位为0
    println("num1^=" + num1)
    var num2 = 24
    num2 |= 20  //按位或后赋值,二进制运算,只要有一个是1,结果为1
    println("num2|=" + num2)

    //代码块赋值
    var num3 = 1
    var res = {
      if(num3 > 1)
        "OK"
      else
        "NO"
    }
    println("res: " + res)

    //特殊写法
    var num4 = if(5 > 4) "K" else "F"
    println(num4)

    //单目运算符优先级:右到左
    //,运算
    println("aaa","bbb" + " lll","ccc")
    //两个变量,不用中间变量完成值对调
    var a = 10
    var b = 20
    a = a + b
    b = a - b //(a+b)-b=a
    a = a - b //(a+b)-a=b
  }
}

   明日学习:Scala,《机器学习十讲》已经学完

原文地址:https://www.cnblogs.com/20183711PYD/p/14379764.html