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

news2024/11/23 13:20:03

文章目录

  • 一、学习目标
  • 二、条件表达式
    • (一)语法格式
    • (二)执行情况
    • (三)案例演示
      • 任务1、根据输入值的不同进行判断
      • 任务2、编写Scala程序,判断奇偶性
  • 三、块表达式
    • (一)语法格式
    • (二)执行情况
    • (三)案例演示
  • 四、for循环
    • (一)单重for循环
      • 1、语法格式
      • 2、执行情况
      • 3、案例演示
  • 五、条件循环
    • (一)while循环
      • 1、语法格式
      • 2、案例演示

一、学习目标

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643178.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[C国演义] 第二章

第二章 目标和题意分析步骤dp的含义递推公式dp数组初始化遍历顺序 代码 目标和 力扣链接 给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0…

充电桩测试系统厂家TK4860B非车载充电机检定装置

温湿度测量&#xff08;选配件&#xff09;&#xff1a;可选配蓝牙温湿度计&#xff0c;通过蓝牙连接平板电脑&#xff0c;完成现场温湿度测量&#xff0c;并自动记录数据。 无线平板操作&#xff0c;可通过拍照保存现场信息&#xff0c;完成自动测试。 一体式结构&#xff0…

qss中样式表不生效

qt问题记录&#xff1a; 1.widget是被提升的窗口&#xff08;被提升为Form&#xff09;&#xff0c;我设置了样式表后它的效果如下图&#xff0c;但是实际跑的时候它的样式表没有显示。 当我取消提升后&#xff08;让它变成普通的QWidget后)&#xff0c;它就正常显现了。 我突…

buuctf re

基本汇编指令mov A B **将B的值复制到A里面去**push A **将A压栈**pop A **将A从栈中弹出来**call Funtion **跳转到某函数**ret --> 相当于 pop ip **从栈中pop出一个值放到EIP里面**je jz **如果ZF&#xff08;0标志位&#xff09;1&#xf…

AI实战营第二期 第七节 《语义分割与MMSegmentation》——笔记8

文章目录 摘要主要特性 案例什么是语义分割应用&#xff1a;无人驾驶汽车应用&#xff1a;人像分割应用&#xff1a;智能遥感应用 : 医疗影像分析 三种分割的区别语义分割的基本思路按颜色分割逐像素份分类全卷积网络 Fully Convolutional Network 2015存在问题 基于多层级特征…

基于Java医院门诊挂号系统设计与实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

02-Vue中的v-show和v-if

前言 一、v-show与v-if的共同点 我们都知道在 vue 中 v-show 与 v-if 的作用效果是相同的(不含v-else)&#xff0c;都能控制元素在页面是否显示 在用法上也是相同的 <Model v-show "isShow"/> <Model v-if"isShow"/>当表达式为true的时候&…

SpringSecurity过滤指定url【.antMatchers(***).permitAll()】失效问题

SpringSecurity过滤指定url【.antMatchers(***).permitAll()】失效问题 问题描述 在使用SpringSecurity作为后端验证框架时&#xff0c;遇到配置一些接口不需要token验证&#xff0c;直接放行&#xff0c;但是配置之后没有生效&#xff0c;一直究其原因。 项目配置 因为要进…

轻松掌握mybatis扩展点

MyBatis提供4个扩展点&#xff1a; 1、Executor执行器接口扩展点 用于执行一系列的SQL操作&#xff0c;底层是使用StatementHandler接口进行原子的SQL操作&#xff0c;Executor在StatementHandler之上进行了一层包装&#xff0c;比如ReuseExecutor执行器&#xff0c;在上层包…

大数据离线阶段

目录 数分分布式Apache ZooKeeperApache HadoopShell 命令选项数据仓库Hive 数分 数据分析的目的是把隐藏在数据背后的信息集中和提炼出来&#xff0c;总结出所研究 对象的内在规律&#xff0c;帮助管理者进行有效的判断和决策。 目的&#xff1a;提炼信息&#xff0c;找出规律…

清华大学出版社618大促《IT系列丛书》

&#x1f482; 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 1.《网络安全应急管理与技术…

win11 x86 系统部署arm架构的虚拟机(银河麒麟为例)

文章目录 一、使用 win11 x86 系统部署arm架构的虚拟机&#xff08;银河麒麟为例&#xff09;1.1.1、前言1.1.2、准备环境1.1.1.1、首先&#xff0c;需要一个银河麒麟的arm镜像1.1.1.2、QEMU 软件的下载地址1.1.1.3、UEFI&#xff08;BIOS的替代方案&#xff09;的下载地址1.1.…

Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)

一款参考QQ、微信的即时通讯软件。采用CS结构&#xff0c;客户端基于.Net与WPF开发&#xff0c;服务端使用Java开发。 提供的服务 注册功能&#xff1a;用户通过手机号码进行账号的注册&#xff0c;每个手机号唯一对应一个用户&#xff0c;需要接收验证码进行手机的绑定。此外…

强化学习笔记-0910 On-policy Method with Approximation

前几章我们所讨论的强化学习方法都是将价值函数建模为一个table形式&#xff0c;通过状态来查询具体状态的价值。但是当状态-动作空间极大&#xff0c;且多数状态-动作并没有太大意义时&#xff0c;这种table查询效率是极低的。 因此本节是将价值函数建模为一个参数模型&#…

修改文件权限chown/chgrp/chmod【Linux】

文章目录 Linux当中的权限问题Linux权限的概念切换用户账号 Linux权限管理文件类型和访问权限&#xff08;事物属性&#xff09; Linux文件名后缀文件权限值的表示方法 文件访问权限的相关设置方法如何改变文件的访问权限如何改变文件的拥有者如何改变文件的所属组如何修改文件…

leetcode 152.乘积最大子数组

题目描述 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff08;该子数组中至少包含一个数字&#xff09;&#xff0c;并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 来源&#xff1a;力扣&a…

从2PC和容错共识算法讨论zookeeper中的Create请求

大家好&#xff0c;我是方圆。最近在读《数据密集型应用系统设计》&#xff0c;其中谈到了zookeeper对容错共识算法的应用。这让我想到之前参考的zookeeper学习资料中&#xff0c;误将容错共识算法写成了2PC&#xff08;两阶段提交协议&#xff09;&#xff0c;所以准备以此文对…

Speech | 提取语音(数据集)的语音特征合集

本文主要讲解了提取数据集的一些主要工具&#xff0c;以及如何使用这些工具&#xff0c;包含安装以及运行命令。 提取语音&#xff08;数据集&#xff09;的语音特征工具&#xff08;Extract audio features toolkits&#xff09; • openSMILE • COVAREP • ESPNet • YAAF…

Java集合框架:链表和LinkedList详解

目录 一、ArrayList的缺陷 二、链表&#xff08;主要介绍不带头的非循环的 单链表 / 双链表&#xff09; 注&#xff1a; 三、模拟链表的实现&#xff1a; MySingleList&#xff08;单链表&#xff09; MyLinkedList&#xff08;双链表&#xff09; 四、LinkedList的使用 …

HNU计算机体系结构-实验一:RISC-V指令理解

HNU计算机体系结构-实验一 前言1.实验目的2.实验步骤1.安装模拟器Ripes2.生成汇编指令3.思考问题1&#xff09;指令add x15, x14, x152&#xff09;指令bge x15 x14 -683&#xff09;指令lw x15, -20 x84&#xff09;指令sw x15, -20 x85&#xff09;简述BranchE信号的作用6&am…