scala使用for循环
前言
在开发中,经常需要使用到for循环对程序做处理,尤其是for循环,使用的地方很多,scala提供了多种方式用于操作for循环,下面列举几种常用的方式
方式1:to
这种方式最简单,只需要指定to的前后的数据范围即可
def main(args: Array[String]): Unit = {for(i <- 1 to 10){println("hello :" + i)}}
输出结果:
方式2:until to
这种方式和to差不多,但是输出结果中,其最大的那个值,不包含最大值本身
def main(args: Array[String]): Unit = {
for(i <- 1 until 10){println("hello :" + i)
}
}
方式3:直接通过for循环便利列表(集合)
当我们需要对集合中的数据进行遍历时,可以采用这种方式
def main(args: Array[String]): Unit = {
var list = List("1","hello",30)
for(item <- list){println(item)
}
}
for循环中的守卫
for循环守卫,也成为循环保护,即在某些情况下,需要对大范围内的数据进行进一步的过滤时,条件判断将会进一步缩小而触发内部的条件,从而执行循环体内部的逻辑,有点类似于continue功能,请看下面一个求1到10中偶数的代码
def main(args: Array[String]): Unit = {
for(i <- 1 to 10 if i%2 == 0){println("偶数为:" + i)}
}
for循环中引入变量
我们来看下面这段代码
def main(args: Array[String]): Unit = {for(i <- 1 to 10){var j = 10-iprintln("j为:" + j)}}
当在for循环内部,还需要引入其他变量的时候,可以采用上面的写法,但是在scala中,提供了一种更加简介的写法,如下,
def main(args: Array[String]): Unit = {for(i <- 1 to 10 ; j = 10-i){println("j为:" + j)}}
通过这种方式,一步到位,节省了代码的同时,更加高效
for循环返回值
scala中对于for循环,基于关键字yield,可以对循环遍历过程中的值进行返回,返回的结果讲师一个Vector类型的集合
来看如下的代码:
def main(args: Array[String]): Unit = {var result = for(i <- 1 to 10 ) yield iprintln(result)}
可以这么理解,在for循环过程中的每一个值,即1~10中的每个元素,通过关键字yield之后,会返回出去,最终返回的结果为一个Vector封装起来给result变量
这种操作在实际开发中也是很有好处的,可以将2步的操作合并为一步走,直接返回,比如我们可以对yield后的i进行运算
def main(args: Array[String]): Unit = {var result = for(i <- 1 to 10 ) yield i * 2println(result)
}
通过这种方式,一步将遍历出来的每个元素进行了 *2 的操作
scala使用for循环相关推荐
- scala几种循环判断语句_Scala循环控制语句– while,while和for循环
scala几种循环判断语句 In software programming, certain situations may arise where we need to execute a block ...
- scala学习手记2 - scala中的循环
先来看一段Java中的循环: for (int i = 1; i < 4; i++) {System.out.print(i + ","); } 毫无疑问,scala可以让这 ...
- scala中break和continu 和 scala高级for循环
美图欣赏: 一.背景 Scala里面竟然没有break和continue关键字,其实不是这样的,Scala里面推荐使用函数式的风格解决break和continue的功能,而不是一个关键字. 二.写个小 ...
- 2021年大数据常用语言Scala(八):基础语法学习 循环
目录 循环 for表达式 while循环 循环 在scala中,可以使用for和while,但一般推荐使用for表达式,因为for表达式语法更简洁 for表达式 语法 for(i <- 表达式/ ...
- Scala for循环示例
为什么80%的码农都做不了架构师?>>> for循环是一种重复控制结构,允许你高效地编写需要执行特定次数的循环.下面的示例以各种形式描述了Scala中的for循环. 语法--带 ...
- Scala基础教程(四):if语句、循环语句、while语句
下面是一个典型的决策中IF...ELSE结构的一般形式使用在大多数的编程语言中: if 语句: if 语句包含一个布尔表达式后跟一个或多个语句. 语法: 一个 if 语句的语法: if(Boolean ...
- Scala声明变量、常用类型、条件表达式、块表达式、循环
一. Scala基础 1. 声明变量 package cn.toto.scala/*** Created by toto on 2017/6/27.*/ object VariableDemo {de ...
- Scala与Java差异(二)之条件控制与循环
一.if表达式 (1)if表达式的定义 在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值. 例如,val age = 30; if (age > 18) 1 els ...
- Scala中的while循环
在Scala中的while循环 (while loop in Scala) while loop in Scala is used to run a block of code multiple nu ...
最新文章
- 从jQuery的缓存到事件监听
- 一文读懂支持向量机SVM(附实现代码、公式)
- Shell---判断(if)和分支(case)
- golang多核的使用
- Winform中跨窗体设置ZedGraph的属性并刷新曲线图
- c语言数码管显示1234,各位大神,如何用C语言实现在数码管上实现1234同时亮
- ubuntu 安装nvidia 驱动后无法进入桌面(循环进入登录界面 )
- 使用 ftrace 调试 Linux 内核,第 1 部分【转】
- java工程师中兴面试题
- 2、网站重构之本地映射外网域名
- Scratch 游戏项目学习法 —— 接苹果(十)接住苹果
- 批量删除QQ空间说说代码
- 美国阿肯色州闪电彩虹共享一片天空(组图)
- Arduino基础2
- Proguard的Keep使用方法
- 用Python删除含有特定字符串的行
- 小程序 和 web 功能对比_小程序官方推出的Kbone,是如何解决Web 端和小程序同构痛点的?...
- 干货!任务型对话中的知识管理
- python应用——分治法实现循环赛
- 打车日记 - 光头师傅
热门文章
- 2022年注册会计师(CPA)考试测试题及答案
- 2019电大计算机专业英语1答案,2019年秋电大开放英语1形成性考核册答案,最..._公共英语考试_帮考网...
- 利用会议软件进行高效会议管理的四大优势
- 网络 || icmp协议 || 三层交换机
- MicroStrategy 微策略 2022 招聘
- Carsim转向系统配置
- SAP S4HANA F-02报错:更正统一日记账分类账的定制设置
- 【报告分享】2021-2022中国男女婚恋观报告-百合世纪佳缘(附下载)
- “网易云阅读”-移动架构
- android开发工程师的发展前景怎么样