首页 > 代码库 > Scala学习笔记
Scala学习笔记
笔记内容比较杂!
1.Scala中的单例对象使用object修饰,类似于C++中的静态类。调用其内部函数时,直接使用对象名调用,不能用new申请!
2.一个文件中可以定义名称相同的类和单例对象,单例对象被称作是类的伴生对象(Companion Object)。二者可以相互访问彼此的私有成员。伴生对象可以理解为是相同名称的类的静态成员函数。
3.Scala文件名不需要与类名相同。但是最好是一样的,方便维护、编程。
4.定义一个变量时,一定要以val或var修饰:
var hw =new helloworld("Hi,my name is lming_08")
Scala会自动判别类型为helloworld型,当然也可以指定类型。
var hw:helloworld =new helloworld("Hi,my name is lming_08")
5.定义一个方法
scala> def max(x: Int, y: Int): Int = if (x < y) y else x max: (Int,Int)Int
冒号后面的Int是结果类型,如果定义的方法是递归型的,那么就必须显示地指定方法的结果类型。普通的方法,编译器是可以推测出结果类型的。注意:参数类型是必须显示地指定。当方法体涉及到多条语句时,你需要用{}括起来。
6.循环的使用
def arrLoop(arr:Array[String])={ arr(0)="abc" arr(1)="123" arr(2)="ABC" for(elem<- arr) println(elem+", hello") } def arrLoop2(arr:Array[String])={ arr(0)="+abc" arr(1)="+123" arr(2)="+ABC" arr.foreach(elem => println(elem)) } def arrLoop3(arr:Array[String])={ arr(0)="-abc" arr(1)="-123" arr(2)="-ABC" for(i <- 0 to arr.length -1){ println(arr(i)) } }
7.Array和List区别
Array是一个可变对象的序列,在实例化后不能更改Array的长度,但是可以改变其元素的值;
而List是不可变对象的序列,更加面向函数式;Scala List与Java List(java.util.List)也是不同的,Scala List是不可变的,而Java List是可变的。更重要的是,Scala List更加的面向函数式编程。
val oneTwoThree = List(1, 2, 3)
未完待续。。。
参考资料:http://www.artima.com/scalazine/articles/steps.html
github练习代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。