函数:
val sum = (x:Int,y:Int) => {x+y}
方法:
def sum(x:Int,y:Int) = {x+y}
//定义方法
def m1(x:Int,f:Int=>Int) = f(x)
def m2(f:(Int,Int) => Int) = f(2,3)
def m3(f:(Int,Int)=>Int,x:Int,y:Int) = f(x,y)
//定义函数
val ff1 = (x:Int) => {x+1}
val ff2 = (x:Int,y:Int) =>x+y
val ff3 =(x:Int,y:Int) =>x+y
//执行
m1(1,ff1)
m2(ff2)
m3(ff3,2,3)
代码块:
{}
一个大括号就是一个代码块,代码块都有返回值,就是最后一部分代码
if分支语句:
val a = 10
val i = if(a>0) 1 else if(a<0) 2
println(i)
--------
1 to 10 代表 [1,10]
1 until 10 代表 [1,10)
val a = 1 to 10
--------
val arr = Array(1,2,3,4)
----
for循环
for(a<-arr) {println(a)}
//可以遍历数组
for(i<- 0 to arr.length -1 ){
println(i,arr(i))
}
for(i<- 0 until arr.length){
println(i,arr(i))
}
----
循环结果*10构建一个新的集合
val arr2 = for(i<- 0 until arr.length) yield arr(i)*10
---
双重for循环
val a = Array(1,2,3,4)
val b = Array(1,2,3,4)
for (i<-0 until a.length;j<-0 until b.length if i==j) println(a(i),b(j))
---
val a +=1
val a -=1
但是没有a++,a--
-----
九九乘法表
for(i<- 1 to 9;j<- 1 to i) {print(i+"*"+j+"="+i*j+"\t");if(i==j) println()}
----
方法转函数
val sum2 = sum _
---
Array是定长的
ArrayBuffer是可变的
相互转换就用toBuffer和toArray
scala的一些知识点(一)
最新推荐文章于 2022-05-18 10:49:06 发布