字符串内插,并格式化数值

scala>valname="Jerry"name:String=Jerryscala>valinfo=s"Mynameis$name."//字符串内插info:String=MynameisJerry.scala>vala=2.7255a:Double=2.7255scala>printf(f"Youare$a%.2f.")//格式化数值,字符串内插Youare2.73.


正则表达式

scala>valinput="Frank,123Main,925-555-1943,95122"res90:String=Frank,123Main,925-555-1943,95122scala>valpattern="""([\d]{3}-){2}[\d]{4}""".r//正则表达式pattern:scala.util.matching.Regex=([\d]{3}-){2}[\d]{4}scala>pattern.findAllIn(input).toList//匹配正则表达式res94:List[String]=List(925-555-1943)



条件表达式

vals=if(n>0)1else-1//可以将if/else的值赋给变量println(s)valx=if(n>0)"postive"else-1//两个分支类型的公共超类为Anyprintln(x)valu=if(n>0)1else()//每个表达式都应该有某种值if(n>0)1等价于if(n>0)1else()println(u)


循环

Scala拥有与Java和C++相同的while和do循环,例如:

varm=10qqm>0){println(m)m-=1//注:scala不提供++和--操作符,我们需要使用+=1或者-=1}


Scala数组遍历, 语法结构: for (i <- 区间)

valcommon=Array(1,2,3,4)//遍历数组for(i<-0untilcommon.length)println(i+":"+common(i))println("=======================")//每两个元素一跳for(i<-0until(common.length,2))println(i+":"+common(i))println("=======================")//倒序遍历for(i<-(0until(common.length)).reverse)println(i+":"+common(i))println("=======================")//不需要数组下标,直接访问数组for(elem<-common)println(elem)