Scala学习笔记

来源:互联网 发布:java统一授权管理平台 编辑:程序博客网 时间:2024/06/06 09:57

第二章 控制结构和函数(快学scala)

1.条件表达式

1)scala中 if/else表达式有值

例:

 var x=1

if (x>0) 1 else -1

2)scala中有混合类型的表达式

if (x>0) "positive" else -1

上述表达式的类型是公共超类型 ,Any

3)esle部分缺失(每个表达式都应该有某种值)

if (x>0) 1


引入一个Unit类,写作()

等价于

if (x>0) 1 else ()

 4)REPL的近视

if (x>0) 1

  else if (x==0) 0 else -1

会立刻执行第一行代码,下面的esle if 会报错

要运行整块代码,有两种方法:

first :花括号

if (x>0){1

} else if(x==0) 0 else -1

second:用:paste

把代码块粘贴进去,按下Ctrl+D;


5)print和println ,后者会追加一个换行符


6)for循环

for(i <-表达式)

for(i<-1 to n)

r=r*i

until方法返回一个不包含上限的区间

val s="hello"

var sum=0

for (i<0 until s.length)

sum+=s(i)

7)高级for循环和for推导式

for(i<-1 to 3;j<-1 to 3 if i!=j) print {(10*i+j)+" "}



插播一条:两个服务器之间传递文件,检查上传的文件是否一致用md5

 $ md5sum  文件名>文件名.md5

 $cat 文件名.md5


8)函数

变长参数

def sum(args:Int*){

var result=0

for(arg<-args) result+=arg

result

}

val s=sum(1,4,9,16,25)


val s=sum(1 to 5:_*) //1 to 5当作参数序列处理