scala学习小记1

scala简介:

scala基于JVM的FP+OO(函数编程和面向对象编程)
• 静态类型
• 和Java互操作

解释器(interpreter)
• 值与变量(val & var)
• 函数(Function)

scala安装:

1. 官网下载下载http://www.scala-lang.org/download/并解压

2. 把解压后的bin路径加到path里面去就可以了。

简单使用  

  1.  

      直接输入 1 + 3 ,返回res0: Int = 4

res0表示变量名, Int表示类型, 4是值。

Scala的类型定义在冒号后面,和java放在前面不同,和UML类图的属性定义方式一样。

Scala是强类型语言,必须要定义类型,但Scala编译器足够聪明,他能够根据你的值帮你定义变量的类型。

这里res0是个变量名,所以你可以接下来再使用。

Scala的所有变量都是对象,所有操作都是方法。

2.自己定义变量

前面的变量由Scala解释器自动定义了,这一步自己定义变量。

Scala有两种类型的变量,val 和var :

val 变量的值只能初始化一次,再次赋值就发生错误,

var就和java的变量相同,可以随时修改。

val msg = "Hello World!" 

 println(msg)

var greeting: String = "Hello World!" 

println(greeting)  

var (a,b)=(1,2)

3.定义一些方法

3.1 定义方法用def 

def max(x: Int, y: Int): Int = if(x < y) y else x

这个max方法有方法参数,返回值类型,方法体。

调用方法  max(3,8)

Scala中方法也是一个类型,或者说是一个值,成为First Class,所以可以把max看成是个变量名,(Int,Int)Int是它的类型。他可以作为参数传递,也可以赋值给其他变量。val m = max _  ;将max赋值给m, 请注意max后面带的下划线,不要忘记写了;调用m  m(1,3)

     3.2 在scala中,函数是一等公民,甚至可以将函数赋值给一个常量 
        def add=(x:Int,y:Int) =>x+y
val b=(x:Int,y:Int) =>x-y
3.3 函数颗粒化
def mul (x:Int)(y:Int) =x%y
可以第一次只传过去1个参数,这样返回的是一个函数
     3.4 接收一系列的,多个该类型的参数
def printEveryChar(s:String*)=
{
s.foreach(x=>println(x))
}
4.条件表达式(if)
val x=1
val y= if(x>0) 2 else 0
5.循环表达式(for, while)注意:scala中没有break 和continue
while示例:
var (a,b)=(10,0)
while(a>0)
{
b=b+a
a--
}
for示例:
for (i<- 1 to 10)//1-10
{
println(i)
}
-----------------
for (i<- 1 until 10)//1-9
{
println(i)
}
-----------------

for (i<- 1 to 10 if i %2 ==0)//2,4,6,8,10
{
println(i)
}

 

posted @ 2015-04-23 21:06  孟想阳光  阅读(192)  评论(0)    收藏  举报