定义变量三种形式
// val是常量类型,不可修改
val a = 10
//默认scala不需要指定类型,会自动判断
//如果指定的话,这样定义
val b:Int = 20
//var 变量,可以修改
var c = 20
//lazy 延迟变量,延迟变量在使用的时候会进行计算,一般定义的时候这个变量可能后面不会用到的话,可以考虑定义为lazy变量
lazy val f = a * b
Scala类型
Byte
Short
Int
Long
Float
Double
Boolean
Char
Unit
val p:Unit = ()
scala 里面的空 就是 Unit
Nothing
抛出异常的情况下会返回Nothing类型
def foo() = throw new Exception("have error")
String
字符串插值
val name = "zhangsan"
s"my name is ${name}"
输出之后会自动将上面定义的name值放入进去,最终输出
my name is zhangsan
List
函数
def functionName(param: ParamType): ReturnType = {
//function body: expressions
}
// 示例
def hello(name: String): String = {
s"Hello, ${name}"
}
// 函数里最后一行代码块即为函数的返回值
// 代码块默认一行就是一个代码块,同一行多个代码块的话,用分号分隔
if 表达式
if (true) 1 else 2
val a = 1
if (a != 1) "not one" 返回的是 ()
for循环
val l = List("aq", "sd", "ert", "sxcdfer")
for (
s <- l
)println(s)
过滤器
for (
s <- l
if (s.length > 3)
)println(s)
val result_for = for {
s <- l
s1 = s.toUpperCase
if (s1 != "")
}yield(s1)
yield会将循环的值放在一起最后返回一个List