Scala 学习笔记 尚硅谷韩顺平 基础语法-01
日常数据开发用scala。深度学习一下语言特性。
println("\r\thello\r")
var name = "tom"
var sal = 1.2
printf("name=%s sal=%f", name, sal)
println(s"name=$name sal=${sal + 1}")
//类型确定后不能修改 强类型语言
println(sal.isInstanceOf[Double])
var `true` = "hello,scala"
println("内容=" + `true`)
var r2: Double = 10 / 3
println("r2" + r2)
var r3: Double = 10.0 / 3
println("r3" + r3)
import scala.io._
val str = StdIn.readLine()
println("str=" + str)
val a = StdIn.readInt()
println("a="+a)
val age = 6
if (age > 18) {
println("age>18")
} else {
println("age<18")
}
for (i <- 1 to 3) {
//1,2,3 前后闭合
println(i + "1 to 3")
}
for (i <- 1 until 3) {
//1,2,3 前闭 后开
println(i + "1 until 3")
}
//循环守卫
for (i <- 1 to 3 if i != 2) {
println(i + "")
}
for (i <- 1 to 3; j = 4 - i) {
println(j + "")
}
// 嵌套循环
for (i <- 1 to 3; j <- 1 to 5) {
println("i=" + i + " j=" + j)
}
// 循环返回值
// 遍历结果 返回到一个新的Vector 中 使用yield 关键字
val res = for (i <- 1 to 10) yield i
// 将集合中的各个数据 进行处理 返回给新的集合
println(res)
val result = for (i <- 1 to 10) yield {
if (i % 2 == 0) {
i
} else {
"不是偶数"
}
}
println(result)
// for 推导式 仅包含 单一表达式 时 使用圆括号 当其包含 多个表达式 时 使用大括号。
// Range 步长控制
for (i <- Range(1, 30, 2)) {
println("……&*")
println(i + "=i")
}
// 控制步长 也可以用 for 循环守卫。
val start = 1
val end = 100
var count = 0
var sum = 0
for {i <- start to end; if (i % 9 == 0)} {
count += 1
sum += i
}
printf("count=%d,sum=%d\n", count, sum)
while (count > 8) {
println("hello,sgg" + count)
count = count - 1
}
// while 是先判断再执行语句 与 id 语句不同 While 本身返回结果是Unit 会对外部变量产生影响 不推荐使用
do {
printf(sum + "sum")
sum = sum - 1
} while (sum > 590)
}
// scala 内置控制去掉了continue 和 break
//breakable 对 break 抛出的异常做出了处理 代码继续执行。
import util.control.Breaks._
var n = 1
breakable {
while (n < 20) {
n += 1
println("n=" + n)
if (n == 18) {
break()
}
}
}
println("ok~")
//也可以利用守卫实现中断
scala 数据类型
scala 数据类型 分为两大类 AnyVal 值类型 和AnyRef 引用类型 不管是AnyVal 和AnyRef 都是对象Int Char。
+ 号使用 : 左右两边都是数值类型时 则做加法运算 当有一方为字符串时 则做拼接运算。 Null 是所有 AnyRef 的子类 Nothing 也是Bottom class
类型转换 : byte short 和char 之间不会相互自动转化。
scala 不支持三目运算符。 if else 替换
1330

被折叠的 条评论
为什么被折叠?



