基本数据类型
Scala 和 Java 一样,有 7 种数值类型 Byte、Char、Short、Int、Long、Float 和 Double(无包 装类型)和 Boolean、Unit 类型.
注意Unit表示无值,和其他语言中的void一样
val 和 var 区别:前者不可变,相当于final修饰,var 可以变
4.6 条件表达式
/**
* Scala if 条件表达式 */
object ScalaIf extends App{
//if 语句的使用
val faceValue: Int = 99
val res1 = if(faceValue > 90 ) "帅的不要不要的" else "瘪犊子玩意儿" println(res1)
// 8 > 8 不成立, 且代码没有 else 分支, res2 是什么呢 val i = 8
val res2 = if (i > 8) i
println(res2)
val res3 = if (i > 8) i else "前面是整型这里是字符串, 那个 res3 是个啥?" println(res3)
// if ... else if ... else 代码较多时可以使用代码块{} val score = 76
val res4 = {
if(score > 60 && score < 70) "及格"
else if(score >=70 && score < 80) "良好" else "优秀"
} }
4.7 循环语句/yeild 关键字
在 scala 中有 for 循环和 while 循环,
用 for 循环比较多 for 循环语法结构:for (i <- 表达式/数组/集合)
/**
* Scala for循环 */
object ScalaFor extends App {
// 定义个数组, 元素为1 到 6
val array = Array(1, 2, 3, 4, 5, 6)
// 遍历打印数组中的每个元素
for(ele <- array) { // 类似 Java 中的增强 for
println(ele)
}
// 通过角标获取数组中的元素
// 定义一个 0 到 5 的角标范围
for(i <- 0 to 5) { // 0 to 5 => 会生成一个范围集合 Range(0,1,2,3,4,5)
println(array(i))
}
for(i <- 0 until 6) { // 0 until 6 => 会生成一个范围集合 Range(0,1,2,3,4,5) println(array(i))
}
// to 和 until 的区别就是 to 包含为前后都为闭区间, until 为前闭后开区间
// 打印数组中的偶数元素
for(e <- array if e % 2 == 0) { // for 表达式中可以增加守卫
println(e) }
// 观察下面代码输出结果
for(i <- 1 to 3; j <- 1 to 3 if i != j) {
println((10 * i + j) + " ") }
for(e <- array if e % 2 == 0) yeild e )
scala运算符
Scala 中的+ - * / %等操作符的作用与 Java 一样,位操作符 & | ^ >> <<也一样。只是有 一点特别的:这些操作符实际上是方法。例如:
a+b
是如下方法调用的简写:
a.+(b)
a 方法 b 可以写成 a.方法(b)