变量和常量
变量的定义
功能:定义一个值可变的变量
var name: String = "CSDN"
Scala中大多数场景下可以自动推断类型
var name= "CSDN"
常量的定义语法及测试
val aa:String = "csdn"
初始值
功能:用于构建一个变量时,指定初始值
var 变量名称:数据类型 = _
var a:string=_
惰性赋值
lazy val 常量名称:数据类型 = 值
- 功能:构建一个常量时不直接赋值,只构建常量对象,当用到数据内容时,再真正赋值
- 设计:避免值初始化以后,如果不被调用,占用内存,通过lazy使用时再进行初始化分配
字符串使用及插值表达式
s"${变量 | 表达式}"
//字符串替换replaceAll
val s3 = "I like"
s3.replaceAll(" ","-")
//字符串拼接
++
块表达式和if判断
功能:用{}包裹多行代码的表达式,scala中使用最后一行作为表达式的返回值,如果表达式只
有一行代码,{}可以省略
if (表达式){
true的处理逻辑
}else{
false的处理逻辑
}
if(表达式1){
表达式1为true
}else if(表达式2){
表达式2为true
}else if(表达式N){
表达式N为true
}else{
都不满足
}
for循环
for(i <- 集合/数值范围){
循环逻辑
}
例子
for(i <- 1 to 10) {
println(i)
}
守卫条件(for里加if)
for(i <- 1 to 10) {
if(i % 2 == 0) {
println(i)
}
}
yield表达式
功能:在for循环后面加上表达式,针对循环的结果进行表达式的计算 ,计算结果组成一个新的集合
for(i <- 集合/数值范围) yield {
循环表达式
//计算表达式
}
for(i <- 1 to 10) yield {
| println(i)
| i*2
| }
Vector(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
break和continue
*导包 import scala.util.control.Breaks._
实现break
breakable{
for(i <- 1 to 10) {
if(i >= 5) break()
else println(i)
}
}
实现continue
for(i <- 1 to 10){
breakable{
if(i == 5) break()
else println(i)
}
}