scala常用语法之控制结构

时间:2022-09-08 18:09:35



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

scala> val name = "Jerry"name: String = Jerry

scala> val info = s"My name is $name." // 字符串内插
info: String = My name is Jerry.

scala> val a = 2.7255
a: Double = 2.7255

scala> printf(f"You are $a%.2f.") // 格式化数值,字符串内插
You are 2.73.


正则表达式

scala> val input = "Frank,123 Main,925-555-1943,95122"res90: String = Frank,123 Main,925-555-1943,95122scala> val pattern = """([\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)



条件表达式

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


循环

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

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


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

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


本文出自 “alfer” 博客,请务必保留此出处http://alfer.blog.51cto.com/9133887/1772750