字符串内插,并格式化数值
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