####条件表达式
scala> if(x>1)"positive" else -1
####循环
while(n>0){
}
for(i <- 0 to 10){
println(i)
}
for(i <- 0 until s.length){ //i的最后一个值是s.length-1
println(i)
}
for(i <- 表达式)
语法结构表示让变量遍历右边表达式的所有值。 ####函数
def max(x: Int, y: Int): Int = {
if (x > y) x
else y
}
def - 开始定义函数 max - 函数名 x: Int, y: Int - 两个参数类型 (): Int - 函数返回类型
def abs(x: Double) = if (x>=0) x else -x
只要函数不是递归的,就不需要指定返回值类型,scala编译器可以通过=符号右边的表达式推断出返回类型。 不像Java或C++,函数式语言通常不用return,函数块中最后一个表达式的值就是函数的返回值,比较下面两个函数的结果
def foo(x: Int) = {
var r = 1
r = r + x
}
def bar(x: Int) = {
var r = 1
r = r + x
r
}
scala> foo(2)
scala> bar(2)
res0: Int = 3
对于不返回值的函数称之为过程,可以不显式声明,也可以设定返回类型为Unit。
def foo() = {
println("hello world.")
}
也可以写做:
def foo(): Unit = {
println("hello world.")
}