for 循环守卫|学习笔记

简介: 快速学习 for 循环守卫。

开发者学堂课程【Scala 核心编程-基础for 循环守卫】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8916


for 循环守卫

 

目录

、循环守卫

二、代码案例

 

一、循环守卫

守卫就是 guard,卫兵的意思。

1、基本案例

for(i<- 1 to 3 if i != 2){ //if 语句即守卫

print(i +"")//条件为真执行,不为真便跳过

}

println()

2、基本案例说明

(1)循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为 true 则进入循环体内部执行,为 false 则跳过(不是退出),类似于 continue  (利用这种特点还可以实现 break 的效果,因为Scala 里取消了 continue 和 break两个关键字,不对它进行运用,原因是 continue 和 break 不是标准的面向对象,也不是函数式)

(2)上面的代码for(i<- 1 to 3 if i != 2){ print(i +"")等价于以下代码

for(i<- 1 to 3){  

if(i !=2){  

println(i+"")

//当条件!=2为真的时候才执行 println(i+"");不为真时,print(i +"")不执行,跳过。

}

}

 

二、代码案例

(在 idea 里新建一个 Scala 的 object 类名为 ForGuard 输入以下代码)

package com.atguigu.chapter04.myfor

object ForGuard {

def main(args : Array [string]):  unit = {

for(i <- 1 to 3 if i != 2) {//条件1不等于 2成立,输出1

print(i + “”)   //遍历到1时不等于2成立;遍历到2时,2等于2 ,不成立直接跳过不输出;遍历到3时3不等于2成立,即最后输出1和3

}

println()

}

}

执行。结果显示为 1 3

相关文章
|
9月前
|
人工智能 关系型数据库 数据库
VMware Aria Automation 8.18.1 新增功能简介
VMware Aria Automation 8.18.1 - 多云基础架构自动化平台
177 12
VMware Aria Automation 8.18.1 新增功能简介
|
存储 自然语言处理 Java
Elasticsearch写入优化
【10月更文挑战第3天】Elasticsearch:从写入原理谈写入优化
422 2
|
Kubernetes Cloud Native Java
从一个服务预热不生效问题谈微服务无损上线
本文基于阿里云技术服务团队和产研团队,在解决易易互联使用 MSE(微服务引擎)产品无损上线功能所遇到问题的过程总结而成。本文将从问题和解决方法谈起,再介绍相关原理,后进一步拓展到对微服务引擎和云原生网关无损上线能力的介绍。
12107 95
|
编译器 开发工具 C语言
配置C++的学习环境
这篇教程介绍了学习C++语言所需的环境配置和软件选择。首先,你需要一个文本编辑器(如Visual Studio Code、Visual Studio、Vim、Emacs或Eclipse)和一个C++编译器(如GCC)。在不同操作系统上安装GCC的方法包括:在Linux或UNIX上使用命令行检查或安装GCC,在Mac OS X上通过Apple的Xcode,而在Windows上则需要安装MinGW。教程还提供了使用Visual Studio创建和编译C++程序的步骤。最后,文章简述了g++编译器的使用及其常用命令选项。
404 0
|
容灾 Java 测试技术
低成本、高稳定性 |满帮集团 Eureka 和 ZooKeeper 的上云实践
充分了解和利用云的能力,能够让满帮技术团队从底层的持续投入中解脱出来,聚焦更上层的系统稳定性和工程效率,从架构层面实现更高的 ROI。
68412 108
|
存储 前端开发 JavaScript
微任务和宏任务有什么区别
微任务和宏任务是JavaScript异步编程中的两个概念。宏任务包括整体代码块、setTimeout等,微任务有Promise、MutationObserver等。主要区别在于执行时机:每次事件循环中,宏任务只执行一个,而微任务会在当前宏任务结束后、下一个宏任务开始前全部执行完毕。
关闭手机卡的流量的方法有哪些?
关闭手机卡的流量的方法主要有以下几种:
|
iOS开发 MacOS
(11)QWidget的使用(two)
本文介绍了如何在Qt框架中使用QWidget类来设置和获取窗口的图标和标题,以及如何进行窗口状态和不透明度的设置。
313 3
|
分布式计算 算法 Java
阿里云ODPS PySpark任务使用mmlspark/synapseml运行LightGBM进行Boosting算法的高效训练与推理
阿里云ODPS PySpark任务使用mmlspark/synapseml运行LightGBM进行Boosting算法的高效训练与推理
1361 3