Scala基础
Table of Contents
内容声明
学习内容来自厦门大学数据库实验室
Scala的变量
Scala有两种变量, val
和 var
val是不可变的,在声明时就必须初始化,初始化后不能再赋值
var是可变的,在声明时必须初始化,后面还可再赋值
val变量
使用方法:
# 未声明变量类型,由scala进行类型推断 val mystr0 = "hello world" # 显式声明变量类型 val mystr1 : String = "hello world"
var变量
# 声明时需要初始化 var dPrice : Double = 3.6 # 再次赋值 dPrice = 3.0
一行输入多条语句
使用分号分隔多条语句。
基本数据类型
Scala的数据类型包括:Byte, Char, Short, Int, Long, Float, Double, Boolean
字符串则直接使用java.lang.String类
Scala中的这些数据类型都是类,在包scala内
使用方法
var i = 123 var i = 3.14 var i = true var i = 'A' var i = "hello" 5.toString() "abc".intersect("bcd") // intersect()方法输出两个字符串中都存在的字符
操作符
- - * / % > < >= <= 等。
由于这些类型都是类,所以也可以用类的形式来调用操作符:
(5).+(3) // +()方法表示相加
Scala中没有++和--操作符,需要使用+=和-=。
Range
Range常用在循环中。
1 to 5 // 创建从1到5的数值序列,步长为1,终点为5 (1,2,3,4,5) 1.to(5) // 同上 1 until 5 // 创建从1到5的数值序列,步长为1,右开区间 (1,2,3,4) 1 to 10 by 2 //创建从1到10的数值序列,步长为2 (1,3,5,7,9) 0.5f to 5.9f by 0.8f
打印
print()
println()
printf()
读写文件
写入文本文件
import java.io.PrintWriter val out = new PrintWriter("output.txt") for(i <- 1 to 5) out.println(i) out.close()
只有执行了 out.close()
,才能在指定目录下看到输出文件。
读取文本文件中的行
import scala.io.Source val inputFile = Source.fromFile("output.txt") val lines = inputFile.getLines for(line <- lines) println(line)
if条件表达式
与Java基本一样。唯一的不同:Scala中的if表达式的判断结果,可以赋值给其他变量。
val x = 6 val a = if(x>0) 1 else -1 // a=1
while循环
while和do-while,与Java无异。
for循环
格式
for(变量<-表达式) 语句块
变量<-表达式,称为生成器(generator)
例子
for(i <- 1 to 5) println(i) for(i <- 1 to 5 if i%2==0) println(i) for(i <- i to 5; j <- 1 to 3) println(i*j) for(i <- i to 5 if i%2==0) yield i // Vector(2, 4)
yield表示对结果构建一个集合。
Generated by Emacs 25.x(Org mode 8.x)
Copyright © 2014 - pinvon - Powered by EGO