06_Scala流程控制

news/2024/10/22 16:34:35/

文章目录

    • @[toc]
  • 1.流程控制
    • **小结:**
  • **2. Scala中流程控制没有三元运算符**
    • **2.1 Scala中如果逻辑代码只有一行可以省略花括号**
    • **小结:**
  • **3. 循环控制**
    • **3.1 for控制**
    • **3.2循环守卫 --> 循环表达式添加逻辑判断**
    • **3.3 循环步长 --> 表示循环幅度by**
    • **3.4循环嵌套**
    • **3.5引入变量**

1.流程控制

注意几个点:
1.Scala执行过程中都是有返回值的Unit也是一种返回值
2.Unit表示的无返回值,例如Println底层使用的就是Unit返回值
3.条件控制语句也是有返回值的
4.Unit的返回值打印就是()

val age = 30val result = if (age == 30) {println(s"年龄是${age}")}println(result)			//()}//谁会没事怎么写

上述方式没有指定result类型,

所以,以满足条件的最后一行代码的执行结果 作为返回值

如果将println变为 100

那么result就是100

关于result的数据类型;Scala是强数据类型,在编译阶段就需要确定其数据类型;此时数据类型有两种取值,Unit和String;至于取哪一种看家谱图。看其通用类型 Any

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

如果指定返回值类型为Unit,那么返回值就是(),不管里面内容是什么

关于强数据类型的流程控制的返回值类型,取多个分支的通用数据类型;

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

小结:

–条件控制返回值 为条件成立的最后一行的代码值

–其返回值的类型,取多个分支的通用数据类型;

–数据类型的获取是在编译阶段,非运行阶段,因此取多个分支的通用数据类型;

因为是通用数据类型,即便返回值真的是1,也无法对数据进行加一操作;

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

2. Scala中流程控制没有三元运算符

//xxx ? a:b

2.1 Scala中如果逻辑代码只有一行可以省略花括号

var c = if (age == 30 ) println(s"${age}为30") else println("age不是30")println(c)	//未指定返回值,最后一行为println 所以是Unit类型,值为()

小结:

scala中没有三元运算符

scala没有加加减减

3. 循环控制

3.1 for控制

scala只有 forEach循环,没有Java的fori循环

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

scala中没有双冒号,但是将Java中后者的那个冒号进行修改, <- 表示意思就是将集合中每一个元素指向Object对象;
	var array = 1 to 5				//从1 到5 for (elem <- array) {			//直接 array.for回车即可;println(elem)}

创建集合的方式

   var array = 1 to 5					//包含5var array1 = 1 until 5				//不包含5		until等价Range(1,5)

3.2循环守卫 --> 循环表达式添加逻辑判断

方式:增加if即可在循环后面

for (elem <- carray if elem>5) {println(elem)}/*** 6* 7* 8* 9*/

3.3 循环步长 --> 表示循环幅度by

  3. 循环幅度var array2 = 1 to 100 by 10for (elem <- array2) {println(elem)}/*** 11* 21* 31* 41* 51* 61* 71* 81* 91*/

等价Range(1,100,2) 和python同

3.4循环嵌套

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

3.5引入变量

// TODO 引入变量for(i <- 1 to 3){var j =i+1println(j)}

http://www.ppmy.cn/news/1442536.html

相关文章

如何使用PHP进行JSON编码和解码?

如何使用PHP进行JSON编码和解码&#xff1f; 使用PHP进行JSON编码和解码是开发过程中非常常见的任务。JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;它使得人们能够很容易地阅读和编写&#xff0c;同时也使得机器能够解析和…

基于北京迅为iTOP-RK3588大语言模型部署测试

人工智能&#xff08;AI&#xff09;领域中的大模型&#xff08;Large Model&#xff09;逐渐成为研究的热点。大模型&#xff0c;顾名思义&#xff0c;是指拥有海量参数和高度复杂结构的深度学习模型。它的出现&#xff0c;不仅推动了AI技术的突破&#xff0c;更为各行各业带来…

SQL UNION

在SQL中&#xff0c;UNION 是一个用于合并两个或多个 SELECT 语句结果集的操作符。使用 UNION 时&#xff0c;结果集会去重&#xff0c;只包含唯一的行。如果保留重复的行&#xff0c;可以使用 UNION ALL。 以下是 UNION 的一些关键点&#xff1a; 1. 去重&#xff1a;UNION 默…

DreamFusion:深入解读其原理、功能与应用

DreamFusion&#xff1a;深入解读其原理、功能与应用 DreamFusion&#xff0c;作为一种探索人类潜意识和创造力的技术&#xff0c;正逐渐改变我们创造和体验艺术、设计和娱乐的方式。其结合梦境与现实世界元素的独特理念&#xff0c;为用户带来了无限的可能性与启发。本文将详…

MongoDB聚合运算符:$setEquals

MongoDB聚合运算符&#xff1a;$setEquals 文章目录 MongoDB聚合运算符&#xff1a;$setEquals语法使用举例 $setEquals聚合运算符用于比较两个或多个数组&#xff0c;如果它们有相同的不重复的元素&#xff0c;则返回true&#xff0c;否则返回false。 语法 { $setEquals: [ &…

2024最新AIBotPro开源码AI Web 应用支持GPT-4全模型

2024最新AIBotPro开源码AI Web 应用支持GPT-4全模型&#xff0c; 支持AI绘画/插件联网/自定义插件/AI知识库等等。 内有详细的图文搭建教程

Q1笔记本电脑线上市场发展现状:大盘下滑,深耕细分市场是机会

今年&#xff0c;宏观经济环境的恶化和笔记本电脑需求的持续放缓&#xff0c;导致全球笔记本电脑出货量&#xff0c;尤其是线上市场的整体状态不容乐观。 根据鲸参谋数据显示&#xff0c;今年Q1笔记本在线上市场&#xff08;京东天猫淘宝&#xff09;综合销量约250万件&#x…

第三节课,后端登录【1】.1--本人

一、后端登录逻辑&#xff0c;检测账户密码是否合法及密码输入是否正确 视频链接&#xff1a; 网址&#xff1a; 第三节&#xff1a;【视频】后端登录逻辑&#xff0c;检测账户密码是否合法及密码输入是否正确视频链接&#xff1a;-CSDN博客 从5.1开始 这是一个Java方法&am…