您现在的位置是:首页 >技术杂谈 >Spark大数据处理学习笔记1.5 掌握Scala内建控制结构网站首页技术杂谈

Spark大数据处理学习笔记1.5 掌握Scala内建控制结构

人生苦短@我用python 2024-10-25 12:01:04
简介Spark大数据处理学习笔记1.5 掌握Scala内建控制结构

一、学习目标

1.掌握条件表达式
2.掌握各种循环
3.理解流间变量绑定

二、条件表达式

(一)语法格式

if (条件) 值1 else 值2

(二)执行情况

  • 条件为真,结果是值1;条件为假,结果是值2。如果if和else的返回结果同为某种类型,那么条件表达式结果也是那种类型,否则就是Any类型
  • Scala的条件表达式有点类似于Java的条件运算符

(三)案例演示

任务1、根据输入值的不同进行判断

在这里插入图片描述

  • 可以将上述条件表达式改造成嵌套的选择结构,可读性倒是提高了,但是简洁性降低了
    在这里插入图片描述

任务2、编写Scala程序,判断奇偶性

package net.huawei.day02

import scala.io.StdIn

/**
 * 功能:判断奇偶性
 * 作者:华卫
 * 日期:2023年02月22日
 */
object Example01 {
  def main(args: Array[String]): Unit = {
    print("n = ")
    val n = StdIn.readLine.toInt
    if (n % 2 == 0)
      println(n.toString + "是偶数~")
    else
      println(n.toString + "是奇数~")
  }
}

在这里插入图片描述
在这里插入图片描述

三、块表达式

(一)语法格式

{语句组}

  • 块表达式为包含在符号“{}”中的语句块

(二)执行情况

  • 需要注意的是,Scala中的返回值是最后一条语句的执行结果,而不需要像Java一样单独写return关键字。如果表达式中没有执行结果,就返回一个Unit对象,类似Java中的void。

(三)案例演示

  • 语句块最后一句的值就是整个块表达式的结果
    在这里插入图片描述

四、for循环

(一)单重for循环

1、语法格式

for (变量 <- 集合或数组 (条件)) {
语句组
}

2、执行情况

表示将集合或数组中的每一个值循环赋给一个变量

3、案例演示

  • 任务1:输出1到10
  • 两种方式实现,一种使用Range类,一种使用to运算符
    在这里插入图片描述
    在这里插入图片描述

五、条件循环

(一)while循环

1、语法格式

while(条件) {   
   循环体
}

2、案例演示

  • 任务1、计算1+ 2 + 3 + … + 100
package net.huawei.day02

/**
 * 功能:等差数列求和
 * 作者:华卫
 * 日期:2023年02月23日
 */
object Example10 {
  def main(args: Array[String]): Unit = {
    var sum = 0
    var i = 1
    while (i <= 100) {
      sum = sum + i
      i = i + 1
    }
    println("1 + 2 + 3 + ... + 100 = " + sum)
  }
}

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。