今日完成
《设计原本》阅读2章:主要内容是“协作”以及“远程协作”,具体内容会在之后的读书笔记中详谈。
Scala学习:
先看一下IDEA中Scala源码反编译成java是如何实现的:
Scala
package com.chapter01 //object TestScala对应的是一个TestScala$的静态对象(见TestScala.java) object TestScala { def main(args: Array[String]): Unit = { println("Hello,Scala") } }
Java
package com.chapter01.test; //scala在运行时做了一个包装 public class TestScala { public static void main(String[] paramArrayOfString){ TestScala$.MODULE$.main(paramArrayOfString); } } final class TestScala${ public static final TestScala$ MODULE$; static{ MODULE$ = new TestScala$(); } public void main(String[] args){ System.out.println("Hello,Scala"); } }
可以看到Scala中的object对象被作为一个静态对象处理,如果使用ed格式运行的话,使用scala是可以执行scala文件和java文件的,而java不能执行scala文件
其次是Scala的输出格式的学习:
package com.chapter01 object test1 { def main(args: Array[String]): Unit = { //分行写的话scala可以不加分号 var num1: Int = 10 var num2: Int = 20 println(num1+num2) //不分行的话需要加分号隔开 println("=====================") var num3: Int = 12; var num4: Int = 20; println(num3+num4) println("=====================") //scala输出的三种形式 println("类似java的输出形式") var str1: String = "Thank" var str2: String = " you" println(str1+str2) println("=====================") println("类似C语言的输出形式") var name: String = "QUX" var age: Int = 20 var fnu: Float = 3.18f var dnu: Double = 5.387 printf("名字=%s,年龄=%d,float数=%f,double数=%f ",name,age,fnu,dnu) println("=====================") println("类似PHP的输出格式") var pname: String = "ASHDF" var page: Int = 22 var pfnu: Float = 9.88f var pdnu: Double = 15.37 //前面的s不能删,它表示后面有$字符串要解析 println(s"输出1: 名字=$pname 年龄=$page float数=$pfnu double数=$pdnu") println(s"输出2(表达式格式,可以实现运算或拼接): 名字=${pname+" HAHA"} 年龄=${page+10} float数=${pfnu+1.11f} double数=${pdnu+2.2}") } }
scala的输出格式非常多样,可以使用java格式,C格式,PHP格式三种格式进行输出,在往后的编程中输出就变得比较灵活。
未完成
OpenCV视频及实战:因个人原因未能完成该任务,在这里做出反省。
明日安排
《设计原本》阅读2章
Scala学习+实战
OpenCV学习+实战(补上今日应学的内容)