07_for循环返回值&while循环

文章目录

1.循环返回值

for循环返回值是Unit

原因是防止产生歧义;

2.yield接收for返回值

复制代码
//    2.yield关键字打破循环,可以使for循环输出返回值为一个域(取最后一行执行结果,如下),请注意写法;
    var array = Range(1,10,2)
    var result = for (elem <- array)  yield{

      elem

      elem * 2

      elem * 3
    }

    println(result)		//Vector(1, 3, 5, 7, 9)

3.scala调用yield方法创建线程对象

4.scala中的while循环

复制代码
//    4.while循环
    /*
    while循环和java一样,但是多了一个do while循环,会先打印执行结果后执行判断条件
     */

    do{

      println("先打印")

    }while(false)
//    先打印

5.scala中的流程控制

scala中没有break,continue原因是其不是面向对象的,也可以用其他语法代替

continue使用if else代替

break使用面向方式代替,底层抛出for循环异常,外层捕获异常

复制代码
      for ( i <- Range(1,10,2)){

//        平替continue
        if (i == 3) {} else println(i)

//        平替break
        if (i>=9) Breaks.breakable()
      }

      println("main")

1
5
7
9
main
相关推荐
码不停蹄的玄黓2 分钟前
Java 应用 CPU 过高排查全流程
java·开发语言·python
江畔柳前堤15 分钟前
XZ09_Word和MD格式转换
开发语言·数据库·人工智能·python·深度学习·word
ZenosDoron15 分钟前
malloc规范
java·开发语言
codeejun15 分钟前
每日一Go-71、理论知识:CAP 、一致性原理 、Raft 机制(简化实现一个 Raft)
java·开发语言·golang
Aotman_17 分钟前
JavaScript数组对象中指定字段转换
java·开发语言·前端·javascript·vue.js·前端框架·es6
星河漫步Lu17 分钟前
Anaconda搭建深度学习虚拟环境
开发语言·python·深度学习
gCode Teacher 格码致知25 分钟前
Python教学:十六进制编码的显示方法-由Deepseek产生
开发语言·python·算法
并不喜欢吃鱼26 分钟前
从零开始 C++------ 十四【C++ 数据结构】unordered_map/unordered_set 全解析:从使用到底层模拟实现
开发语言·数据结构·c++
曾几何时`27 分钟前
Go(一)Gin框架 和 GORM机制
开发语言·golang·gin
biter down33 分钟前
3.Python 接口自动化之 Pytest 测试框架
开发语言·python