Scala学习笔记——1

Scala简介:
Scala是基于JVM的一门编程语言,Scala代码需要编译为字节码交给JVM来执行。
Scala因此可以任意调用Java代码
Scala解释器(也称为REPL):
REPL:Read(取值)——》Evalution(求值)——》Print(打印)——》Loop(循环)
Scala内置变量:
在Scala命令行中,若没有指定变量来存放计算结果的值,那么默认存放在内置变量res中,并且显示结果的数据类型
Scala自动补全:Tab键
一、变量声明
1、val变量
val变量是不可改变的
2、var变量
var变量值可以改变
3、指定变量类型
val res:String=null
val rek:Any=“welcome”
4、声明多个变量
val name1,name2:String=null
val name3,name4=3
5、 在大型复杂系统中,建议使用val,防止在大量的网络传输中变量值被错误地更改。
例如,在java的大型复杂系统的开发中,会使用不可变类(Immutable Class Java不可变类),常量(final),防止变量值被更改,目的是为了提高系统的鲁棒性(robust)和安全性。
二、基本数据类型
1、Byte,Char,Short,Int,Long,Float,Double,Boolean
都是类,与java不同,不区分基本数据类型和包装类型。直接用基本数据类型调用相应类函数就可以。
例如:1.toString()
2、String类的加强版StringOps类,其中包括大跨不过的函数,调用这些函数时,编译器往往会隐式的将String类对象转换为StringOps类对象。例如:"Hello".intersect("World")结果输出lo(相同的字符)
还包括RichInt,例如:1.to(10)结果输出Range(1,2,3,4,5,6,7,8,9,10)
还有RichDouble,RichChar等等
三、基本操作符
scala的操作符与java类似
+,-,*,/,+=,-=,%,&,|,^,>>,<<
四、函数调用方式
1、例如:import scala.math._
sqrt(2)平方根
pow(2,4)幂
“Hello World”.distinct求字符串包含的字符(包括空格,其实就是求不重复的字符,distinct的意思也是不同的)
2、apply函数
在Scala的Object中,可以声明apply函数,使用类名(),或者类名.apply()来创建类的对象,而不是new 类名()
例如:“Hello World”(6)就等于"Hello World".apply(6),就创建了一个Char类型的变量’W’,因为在StringOps类中定义了 def apply(n:int) Char,返回下标为n的字符
所以Array(1,2,2,4),就是调用了Array类的apply函数创建了一个Array类对象。
五、总结
优于Scala语言存在着一些缺陷,现在一些公司大数据在Spark平台上还是用Java,Python,其实性能上这三种语言没有太大 差距,所以我就不用啃Scala文档了,学习怎么用的熟练就行了。

猜你喜欢

转载自blog.csdn.net/Mr_Effiya/article/details/84330498