寒假学习日报(二十七)
今日学习:《机器学习十讲》第十讲,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,《机器学习十讲》已经学完