云星数据---Scala实战系列(精品版)】:Scala入门教程013-Scala实战源码-Scala表达式与for循环
2017-11-24 09:30
956 查看
Scala表达式及循环
package scala_learn.demo00_helloworld /** * Created by liguohua on 2017/2/12. */ object Statements_04 { def tes1(): Unit = { //scala的表达式都是有返回值的,最后一个表达式作为函数的返回值,因此函数中应避免return //一、以下是if语句的写法 if (true) { println("good") } if (3 > 5) { println("yes") } else { println("no") } val score = 90 if (score > 80) { println("gread 1") } else if (score > 70) { println("gread 2") } else { println("gread 3") } //二、以下是while的写法 var i = 0 while (i < 5) { println(i) //scala不支持i++或者++i或者--i或者i--之类的操作 i += 1 } //三、以下是for的写法 println("****************************for[0,5]**********************************") //[0,5] for (i <- 0 to 5) { println(i) } println("****************************for[0,5)**********************************") //[0,5) for (i <- 0 until 5) { println(i) } println("****************************for中可以写多个if需要用';'分开**********************************") for (i <- 0 until 5; if i % 2 == 0; if i < 6) { println(i) } println("****************************大致的for循环嵌套**********************************") for (i <- 0 to 5; j <- 0 to 4) { println("i=" + i + ",j=" + j) } println("****************************正方形打印**********************************") for (i <- 0 to 5) { for (j <- 0 to 5) { print("*") } println() } println("****************************for中的yield(yield用于产生循环语句的返回值)**********************************") val no1 = for (i <- 1 to 10) yield i println(no1) //Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val no2 = for (i <- 1 to 10 if i % 5 == 0) yield i println(no2) //Vector(5, 10) } def test2(): Unit = { println("****************************scala中的break和countiue**********************************") var a = 0 val numList = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) import scala.util.control._ val loop = new Breaks loop.breakable { for (a <- numList) { println("Value of a: " + a) if (a == 4) { loop.break } } } println("After the loop") } def test3(): Unit = { println("****************************scala中的break和countiue(循环嵌套)**********************************") var a = 0 var b = 0 val numList1 = List(1, 2, 3, 4, 5) val numList2 = List(11, 12, 13) import scala.util.control._ val outer = new Breaks val inner = new Breaks outer.breakable { for (a <- numList1) { println("Value of a: " + a) inner.breakable { for (b <- numList2) { println("Value of b: " + b) if (b == 12) { inner.break } } } // inner breakable } } // outer breakable. } } } def main(args: Array[String]) { tes1() test2() test3() } }
相关文章推荐
- 云星数据---Scala实战系列(精品版)】:Scala入门教程010-Scala实战源码-object(类)
- 云星数据---Scala实战系列(精品版)】:Scala入门教程017-Scala实战源码-Scala 创建对象 以及类的介绍
- 云星数据---Scala实战系列(精品版)】:Scala入门教程032-Scala实战源码-Scala 对象 02 单例对象
- 云星数据---Scala实战系列(精品版)】:Scala入门教程042-Scala实战源码-Scala 集合List
- 【云星数据---Scala实战系列(精品版)】:Scala入门教程062-Scala实战源码-访问权限
- 云星数据---Scala实战系列(精品版)】:Scala入门教程012-Scala实战源码-Scala操作符
- 云星数据---Scala实战系列(精品版)】:Scala入门教程018-Scala实战源码-Scala内部类
- 云星数据---Scala实战系列(精品版)】:Scala入门教程033-Scala实战源码-Scala apply方法01 调用
- 云星数据---Scala实战系列(精品版)】:Scala入门教程038-Scala实战源码-Scala match语句03 类型匹配
- 云星数据---Scala实战系列(精品版)】:Scala入门教程015-Scala实战源码-Scala函数
- 云星数据---Scala实战系列(精品版)】:Scala入门教程024-Scala实战源码-Scala abstract 抽象类01
- 云星数据---Scala实战系列(精品版)】:Scala入门教程034-Scala实战源码-Scala apply方法02 初始化对象
- 云星数据---Scala实战系列(精品版)】:Scala入门教程044-Scala实战源码-Scala 元组Tuple操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程050-Scala实战源码-Scala implicit 操作01
- 【云星数据---Scala实战系列(精品版)】:Scala入门教程064-Scala实战源码-类访问伴生对象中的成员2
- 云星数据---Scala实战系列(精品版)】:Scala入门教程051-Scala实战源码-Scala implicit 操作02
- 云星数据---Scala实战系列(精品版)】:Scala入门教程030-Scala实战源码-Scala 的特质 (接口)06
- 云星数据---Scala实战系列(精品版)】:Scala入门教程035-Scala实战源码-Scala apply方法03 创建对象demo
- 云星数据---Scala实战系列(精品版)】:Scala入门教程046-Scala实战源码-Scala foreach操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程029-Scala实战源码-Scala 的特质 (接口)05