scala:scala基础

安装scala运行解释器

下载scala,解压,配置SCALA_HOME到解压目录,将$SCALA_HOME/bin加入PATH

vim /etc/profile

export SCALA_HOME=/opt/scala-2.11.8
export PATH=SCALA_HOME/bin:$PATH

命令行执行scala打开scala解释器。

声明变量

声明常量用val,无法改变常量值;
声明变量用var。

scala> val a,b = 1
a: Int = 1
b: Int = 1
//除非必要否则不要用var
//除非一行需要写多个语句,否则行尾可以不加分号";"

声明变量不用指明类型,因为类型会根据赋值语句自动确定,因此必须在声明的时候为变量赋值。
也可以强制指明声明变量的类型:

val greeting:String=null
val d:Double=1

定义函数方法

声明方法用def

def f(s:String):Int = {
	print(s+" ")
	100
}
print(f("abc")) 
//输出abc 100

方法的返回值类型可以不写,方法能自动确定(递归方法除外)。
方法名和方法体后要用=连接,否则方法返回值为(),相当于void()Unit类型的唯一值。
因为花括号语句块有返回值(即最后一个语句的值),所以方法返回值不用return语句。
若无参方法定义时候方法名后面没写括号,则调用时也不能写括号,否则报错。

方法调用

1.toString //不带参数且不改变当前对象的方法不带圆括号
1.toString()
1.to(2)
1 to 2

scala中运算符全是方法名,如2+4相当于2.+(4)
取数组中指定位置的元素:

scala> "hello"(1) //这是scala中apply方法的调用,相当于"hello".apply(1)
res37: Char = e

有些类的伴生对象有apply方法,就可以不用new操作符获得这个类的对象,如:

BigInt("123")
Array(1,2,4)

引入包

scala引入scala.math包(里面有常用的数学方法,如平方根方法sqrt)

import math._   
//引入scala.开头的包
//scala.可以省略
//_为通配符相当于Java中的*

猜你喜欢

转载自blog.csdn.net/xuejianbest/article/details/85248234