版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15014327/article/details/83575426
package scala
object BaseTest {
def main(args: Array[String]): Unit = {
/**
* 在 Scala中,使用关键词 "var"声明变量,使用关键词 "val"声明常量。
*/
//基本类型
println("Hello World!")
val x = 0x29
println(x)
val y = 50
println(y);
val floatNumber = 3.1415F
println(floatNumber)
val charLetter = 'A'
println(charLetter)
//基本类型操作
var sumVal = 1 + 2
println(sumVal)
var sumVlaue = (1).+(2)
println(sumVlaue)
//运算符 < > == != && || ! & | ^ ~ <<
//流程控制
//if可用作表达式,whie不可以
val a = if ("hello" == "h") 1 else 0
var i = 1
while (i < 10) { println(i); i += 1 }
var j = 1
do { print(j); j += 1 } while (j < 5)
var files = (new java.io.File(".")).listFiles();
for (file <- files) println(file)
for (i <- 0 to 10) println(i)
for (i <- 0 until 10) println(i) //不包含10
for (file <- files if file.getName.endsWith(".scala")) println(file)
//多重循环的实现
def fileLines(file: java.io.File) = scala.io.Source.fromFile(file).getLines.toList
def grep(pattern: String) =
for (
file <- files if file.getName.endsWith(".scala");
line <- fileLines(file) if line.trim.matches(pattern)
) println(file + ": " + line.trim())
//与grep等价
def grep2(pattern: String) =
for (
file <- files if file.getName.endsWith(".scala")
) for (
line <- fileLines(file) if line.trim.matches(pattern)
) println(file + ": " + line.trim())
//Scala中for循环是有返回值的
//for循环中的 yield 会把当前的元素记下来保存在集合中,循环结束后将返回该集合。
//生成返回结果
def scalaFiles =
for (file <- files if file.getName.endsWith(".scala")) yield file
}
}
参考自:https://blog.csdn.net/column/details/scalalearning.html