Scala的特性:
再讲Scala与java的区别之前我们先了解一下Scala有六大特性:
- java和scala可以无缝混编(都是基于JVM)
- 类型推测(不必指定类型,自动推测类型)
- 支持并发和分布式(Actor)
- 特质:trait(集结了java中抽象类和接口的产物)
- 模式匹配(match case :类似于java中的switch case)
- 高阶函数(参数时函数或者返回值是参数)
scala和java的区别
1.变量的声明
scala语言声明变量用var关键字,声明常量使用val关键字
-
var name = "mlin"
-
val age = 22
扫描二维码关注公众号,回复: 12457768 查看本文章
另外,scala可以在没有变量类型的情况下,会根据值自动推测相关类型,注意Java变量声明中类型置前,如:int name,Scala是类型置后:var name : String。
2.函数的声明
scala声明函数用def关键字+函数名+参数列表+ :+返回值类型+函数体。例如:
-
def main(args:Array[String]):Unit{
-
println("helloWorld");
-
}
Scala函数没有返回值用Unit,相当于java的void。
3.数据类型
scala的数据类型:
注意:scala没有类似java中int的基本数据类型,他的类型都是类:Int。
4.数组
scala中定义数组和java有些不同。java中的数组:
int[] numbs = new int[3];
scala中的数组:
var arr = Array(1,2,3,4,5)
这里,scala遍历数组特别方便,比如如下代码,就相当于java中的增强for循环。
-
var arr = Array(1,2,3,4,5)
-
for ( x <- arr ) {
-
println( x )
-
}
这个是普通循环。
-
for (i <- 0 to 2) {
-
println(i)
-
}