循环结构
- scala三种循环,for循环,while循环,do-while循环
- for循环本身是个表达式,返回值为Unit
- 嵌套for循环
for(范围表达式1;范围表达式2;判断条件){
如果有条件,条件成立时才会执行方法体
}
循环跳出
1 return会结束整个方法,不只是结束循环结构
2循环条件
3 breakable 需要导包,
想要跳出整个循环结构,breakable块应该包含整个循环结构
如果仅仅跳出单次循环,breakable要包含循环体
插值器
目的是将变量的值插入字符串中
三种插值器:s f raw
正则表达式
可以使用"".
r方法获取正则表达式对象
findAllIn
findFirstIn
ReplaceAllIn
replaceFirstIn等等
文件IO
包scala.io.source
fromFile方法
fromURL方法
方法与函数
如何定义方法
//一般写法
def 方法名(参数类型列表):返回值类型={方法体}
//省略返回值写法
def 方法名(参数类型列表)={方法体}
//省略等号写法
def 方法名(参数类型列表){方法体}
//无参数列表写法
//调用时不能加()
def 方法名:返回值类型={方法体}
//调用时可加或不加()
def 方法名():返回值类型={方法体}
方法定义的位置
通常在类中,极少部分可以嵌套到方法中
如何定义函数?
//类lambda表达式
val f1=((a:Int,b:Int)+>a+b)
val f2=(a:Int,b:Int)+>a+b
//冒号写法
val f4:(Int,Int)+>Int=(_+_)
val f5:((Int,Int)+>Int)={(x,y)=>x+y}
//特殊情况
val f7=()+>{}
函数的本质是实现了23个特质,与java中的接口相似.分别是Function0-Function22
其中0代表无参.
方法与函数的转换
1 函数可以作为方法的参数使用
2方法可以作为函数的参数使用
3 方法转函数