scala基础篇-控制结构和函数

####条件表达式

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.")
}

转载于:https://my.oschina.net/lukangping/blog/379474

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值