Scala的基本语法(二)
1 循环守卫
循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为 true 则进入循环体内部,为false 则跳过,类似于continue。
案例演示
需求:输出 1 到 5 中,不等于 3 的值
运行结果
2 循环步长
案例演示
需求:输出 1 到 10 以内的所有奇数
运行结果
说明:这里by 表示步长
3 嵌套循环
嵌套循环有两种书写方式:
1)没有关键字,所以范围后一定要加;来隔断逻辑
2)也可以用两个for循环遍历
两种输出的结果一致:
4 引入变量
基本语法
1)for 推导式一行中有多个表达式时,所以要加 ; 来隔断逻辑
2)for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号
运行结果
5 循环返回值
基本语法:将遍历过程中处理的结果返回到一个新 Vector 集合中,使用 yield 关键字
案例演示
需求:将原数据中所有值乘以 2,并把数据返回到一个新的集合中。
运行结果
6 倒序打印
基本语法:如果想倒序打印一组数据,可以用 reverse。
案例演示
需求:倒序打印 10 到 1
7 循环中断
基本语法:Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。Scala 中使用breakable 控制结构来实现 break 和 continue 功能。
方式一:采用异常的方式退出循环
运行结果
方式二:采用 Scala 自带的函数,退出循环
1)导入自带函数
运行结果
方式三:对break 进行省略
运行结果
方式四:循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)
运行结果
鸡兔同笼
需求:鸡兔一共有35只,脚一共有94只,问鸡和兔各多少只?
百钱买鸡
需求:公鸡5块一只 母鸡3块一只 小鸡1块3只 一共有100块钱 需要买100只鸡 问一共有几种买法 分别列举出来