1、if条件表达式
package com.scala.test.Test
object IfTest02 {
def main(args: Array[String]): Unit = {
val a:Int=60
//这种情况和java语言一样
if(a>60){
println("大于60")
}else{
println("小于等于60")
}
//与java不同的是,Scala表达式可以返回一个值,类似于java的三元表达式
val b= if(a>60) 100 else 0
println(b)
//代码块
//无论条件如何总是返回代码块最后的值
val c = {
if(a>60) 100 else 0
"end"
}
println(c)
}
}
小于等于60
0
end
2、while循环
while循环结构和java完全一样
package com.scala.test.Test
import scala.collection.mutable.ArrayBuffer
object WhileTest {
def main(args: Array[String]): Unit = {
val a : Int = 30
while (a==30){
println("a==30")
//return
}
println("a!=30")
// do{
// println("a==30")
// }while(a==30)
}
}
3、for循环
(1)基本语法结构
//基本for循环
for(i <- 1 to 5){
println(i)
}
//嵌套for循环
for(i <- 1 to 3;j <- 1 to 4){
println("i: "+i," j: "+j)
}
(2)守卫式for循环
for(i <- 1 to 5 if i % 2 == 0){
println(i)
}
for(i <- 1 to 3;j <- 1 to 4 if j%2==0){
println("i: "+i," j: "+j)
}
(3)for推导式
package com.scala.test.Test
object ForTest {
def main(args: Array[String]): Unit = {
//for推导式
val array = for(i <- 1 to 5 if i%2==0) yield i*2
for(i<-array){
println(i)
}
println("=========================================")
//和上面等价
val array01 = (1 to 5).filter(_%2==0).map(_*2)
for(i<-array01){
println(i)
}
}
}
4
8
=========================================
4
8