标签:
在Scala中,分号是可选的,你可以写或者不写;定义类和构造函数,Java中一般这么写
而在Scala中,可以这么写 class MyTest(id: Int, index: Int)
除了这些特性,尤其值得一提的是Scala是静态类型的语言,它支持指令式的编程,但更推荐的使用函数式的编程。比如下面的java代码
我可以使用scalac HelloWorld.scala使他生成class字节码,也可以直接在JVM上执行,
scala HelloWorld.scala Hello World
打印结果将是 Hello World
大家不觉得这样有一丁点儿复杂吗,来看看Scala的函数式的编程是什么样的
arg就是你临时定义的变量,Scala默认为其开辟了临时的String变量arg。
体验了最初的简单函数式风格,我们再看下Scala中如何使用数组,在Java中,使用一个最简单数组是这样的
}
在Scala中,同样是通过new来实例化对象,实例化过程中,可以用值和类型使对象参数化,使用值参数化实例可以通过把值传递给构造器的圆括号来实现,比如,Scala中数组是这么实现的,值得一提的是,在Scala中,数组是可变数据结构,这是和Java中有区别的地方
object ArrayTest {
def main(args: Array[String]): Unit = {
var greetString = new Array[String](3)
greetString(0) = "Hello"
greetString(1) = "World"
greetString(2) = "!"
for(i <- 0 to 2) {
println(greetString(i))
}
}
}
i <- 这个表达式是表示左边的涵盖在右边范围之内。
下面我们来看看List,在Java中,List是可变的结构序列,而在Scala中,List是不可变的,在Scala中,List是不可变的数据结构,这么设计是为了函数式编程而设计的,奇特的是,Scala中并不需要通过new来创建List对象,比如下面一个例子,我创建了两个集合,并且把它们循环打印出来。
打出的结果就是 aaa bbb ccc ddd
标签:
原文地址:http://www.cnblogs.com/honeybusybee/p/4708239.html