scala-01-基本数据类型

一, 基本数据类型

1, scala的数据类型和java类似, 不同的是scala中所有的类型都是引用类型的

Byte
Short
Int
Long
Char
Float
Double
String
Boolean

2, 字符串定义

一般使用双引号进行定义,    val str = "abc"

如果想保持原样输出, 可以使用 ''' 进行定义

val longStr = ''' type: abc
                         method: get'''

二, 运算符操作

3, 运算符操作

scala中所有的运算符都以方法的形式被调用, 所有的运算符都可以被重载

var count = a + b
在scala中会被转换成 var count = (a).+(b)    的形式

4, 对象比较

scala中的比较是基于内存比价的, 而java中是基于引用进行比较的

三, 结构控制

1, if

可以返回值

val result = if (a > b) 1 else 0

2, while循环

扫描二维码关注公众号,回复: 499448 查看本文章
def gcdLoop(x: Long, y: Long): Long = {
    var a = x
    var b = y
    while( a != 0) {
        val temp = a
        a = a * b
        b = temp
    }
    b
}

3, do..while 循环

var line = ""
do {
    line = readLine()
    println(line)
} while (line != "")

4, 使用if, 代替while循环

减少var变量的定义, 同时程序表达能力更强

def gcdLoop(x: Long, y: Long): Long = if (x = 0) x else gcd(y, x * y)

5, for循环使用

先认识下生成器: <-  

for (file <- fileSet) println(file)

fileSet的值会依次赋值给file, 然后打印出来

for (I <- 1 to 5) 
    println(i)

"to" 会包含1-5的值, “until” 不包含 5,

for循环中可以使用if进行判断

for (file <- fileSet if file.getName.endsWith(".scala") {
    println(file)
}

多重嵌套循环

def grep(pattern: String) =
      for (
        file <- filesHere
        if file.getName.endsWith(".scala");
        line <- fileLines(file)
        if line.trim.matches(pattern)
      ) println(file +": "+ line.trim)
    grep(".*gcd.*")

猜你喜欢

转载自www.cnblogs.com/wenbronk/p/9025449.html
今日推荐