scala语法链接整理
scala详细语法
由于scala写法灵活,有多种写法,这里记录一下自己常用的写法。
自己适用的写法方式记录以下
1 变量与常量
var修饰的变量可以改变 val修饰的变量不可以改变(val 类似于java中的final关键字,特别在数组和map等对象引用上起到的作用和java一致,都是堆中引用指向不变 不指向新的内存对象 ,但是其中的值可以改变)
var 变量名 [: 变量类型] = 初始值
var i:Int = 10 也可以写成 var i=10 系统会根据你输入的值自动判定
val 常量名 [: 常量类型] = 初始值
val j:Int = 20 也可以写成 val j=10
2 数据类型
java中的基本类型和引用类型是分开的,scala中是只有基本类型,尤其注意 这些基本类型都是大写开头

3 . 运算符
运算符计算规则和java大致没有什么区别,唯一注意的是scala中的运算符其实都是函数
比如加法运算
val k:Int = 1 + 1 其实是这种形式val i:Int = 1.+(1)
4. 流程控制
4.1 if条件判断和java 没什么区别
4.2 for 循环条件判断 和java的写法基本不一样 有很多新特性
这里罗列以下大概有哪些特性写法,具体使用可以去链接看
范围数据循环 to
for(i <- 1 to 3){
print(i + " ")
}
范围数据循环until
for(i <- 1 until 3) {
print(i + " ")
}
循环守卫
for(i <- 1 to 3 if i != 2) {
print(i + " ")
}
循环步长
for (i <- 1 to 10 by 2) {
println(“i=” + i)
}
嵌套循环
for(i <- 1 to 3; j <- 1 to 3) {
println(" i =" + i + " j = " + j)
}
引入变量
for(i <- 1 to 3; j = 4 - i) {
println(“i=” + i + " j=" + j)
}
循环返回值
var res = for(i <-1 to 10) yield {
i * 2
倒序打印
for(i <- 1 to 10 reverse){
println(i)
}
4.3 while和do while写法和java没什么太大的区别

浙公网安备 33010602011771号