Spark 3.x大数据分析实战(视频教学版)
上QQ阅读APP看书,第一时间看更新

1.3.3 表达式

Scala中常用的表达式主要有两种:条件表达式和块表达式。

1.条件表达式

条件表达式主要是含有if/else的语句块,如以下代码所示:

    scala> val i=1
    i: Int = 1
       
    scala> val result=if(i>0) 100 else -100
    result: Int = 100

由于if和else的返回结果同为Int类型,因此变量result为Int类型。

若if与else的返回类型不一致,则变量result为Any类型,如下示例:

    scala> val result=if(i>0) 100 else "hello"
    result: Any = 100

当然也可以在一个表达式中进行多次判断,例如:

    scala> val result=if(i>0) 100 else if(i==0) 50 else 10
    result: Int = 100

2.块表达式

块表达式为包含在符号“{}”中的语句块,例如以下代码:

    scala> val result={
         | val a=10
         | val b=10
         | a+b
         | }
    result: Int = 20

代码中的竖线表示Scala命令行中的换行,在实际程序中不需要编写。

需要注意的是,Scala中的返回值是最后一条语句的执行结果,而不需要像Java一样单独写return关键字。

如果表达式中没有执行结果,就返回一个Unit对象,类似Java中的void。例如以下代码:

    scala> val result={
         | val a=10
         | }
    result: Unit = ()