val msg = "Hello World!"
//等价于val msg:String = "Hello World!"
//scala编译器会自动帮我们推断出变量的类型
- val定义变量表示变量不可被重新赋值,类似于java中final变量
- var定义变量可以被重新赋值
msg = "Hello ge Der"
//会报错
1、定义函数
def max(x:Int,y:Int):Int = { if (x > y) x else y}
//函数参数需要显式指定参数类型,scala编译器不会帮我们做推断
//scala中的结尾;可有可无
:Int表示返回的结果类型,可以省略
def max(x:Int,y:Int) = { if (x > y) x else y}
//但是如果函数是递归的(函数里会调用到自己),就不能省略结果类型,上述函数没有调用到自己
def max(x:Int,y:Int) = if (x > y) x else y
//如果函数中只有一条语句,花括号也可以省略
2、编写脚本文件
var i = 0
while ( i < args.length){
if (i != 0){
print(" ")
}
print(args(i))
i += 1
}
println()
- 命令行参数可以通过args数组获取,取数组的值不必类似于Java的args[i], 用圆括号args(i)即可获取
- while或if语句的boolean表达式,必须用圆括号括起来
- 指定scala脚本使用scala 名称.scala即可
上述脚本文件中的whilexunhuan,实际上是以指令式的风格编程,也是类似于Java/C++等语言通用的风格,依次给出指令,通过循环来遍历,scala允许使用指令式的编程风格,但更倾向于使用函数式
args.foreach(arg => println(arg))
//等价于上面的scala脚本,对args执行foreach()方法,括号内左边是参数,右边是函数体
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)