scala 入门教程(学习笔记一)

scala 入门教程(学习笔记一)

scala 发音 skah lah

1.变量定义val 和var 的区别
val 定义的变量我们可以认为是C 、php 等语言中的宏 俗称 常量,定义后无法重新赋值
var 定义的变量就可以重新赋值了

定义变量的时候我们要指定变量的数据类型如

 
val a:Int = 120;
val b:String = "你好";

说明在scala中代码分段后的分号是可选的 ,换句话说上面代码片中的分号均可省去。熟悉Python开发的同学就很幸福了。

2.定义函数
2.1 无参函数
在scala 中通过关键词 def 来申明一个函数如:

 
def hello()
{
   println("hello world!")
}
hello()

同时我们可以将上述代码简洁为

 
def hello()= println("hello world!")
hello()

2.2 有参函数

scala中定义函数参数 需要指定参数数据类型,同时如有返回值也需要指定函数返回值的数据类型
如:

 
def hello(name:String):String ={
 return "hello "+name
}
val a:String  = hello("yangqijun")
println(a)

函数体中均为一行代码,我们可以简写如下:

 
def hello(name:String):String =return "hello "+name
val a:String  = hello("yangqijun")
println(a)

上面代码说明:定义函数hello 参数为name 是个String型 函数返回类型为String
定义常量 a 类型为String 用户接收函数返回值,最后输出。

3.数组

3.1 类型参数化数组
scala中定义数组我们首先要去new 一个对象同时要指定其长度如:

var arr = new Array[String](4)
arr(0) ="a"
arr(1) ="b"
arr(2) ="c"
arr(3) ="d"

同学们会发现,这里的是通过括弧来获取数组的某个元素 而不像其他语言那样使用中括号[] 这里你可以暂时理解为将arr(i)转化为arr.apply(i) 函数 详细了解请自行翻阅其他文献

3.2 update、foreach 数组
代码如下:

var arr = new Array[String](4)
arr(0) ="a"
arr(1) ="b"
arr(2) ="c"
arr(3) ="d"
 
arr.update(0, "110")
arr.foreach(p=>println(p))

上述的 foreach 还可以简化成 arr.foreach(println),去试试吧