文章地址:http://www.haha174.top/article/details/259215
1.scala与java 的关系
Scala 与java的关系是非常紧密的,因为scala是基于Java虚拟机的,也就是JVM的一门编语言。所有的scala的代码都要进过编译成为字节码,然后交由java虚拟机来运行的。
scala和Java的代码可以相互无缝的操作,scala可以任意调用java的代码,所有scala和java 的关系是非常紧密的。
2.scala解释器的使用
REPL:scala 解释器也被称为REPL那么什么是REPL呢:READ(取值),Evaluation(求值),Print(打印),Loop(循环)。scala 解释器快速将scala 编译为字节码,提交给虚拟机运行。
计算表达式:在scala 命令行内,键入scala 代码,解释器会直接返回结果给你,如果你没有指定变量来存放这个值,那么值的默认名称就是res,而且会显示结果的数据类型,比如Int,Double 等等
内置变量:上文中提到了默认名称res 后面可以继续使用这个变量以及存放他的值。
自动补全:在scala 命令行中可以使用tab 键自动补全。
3.声明变量
val:可以使用val 来声明变量但是一旦声明之后,变不能在改变他的值不然会报错
var:也可以听过var 来声明变量但是他的值是可以改变的。
指定类型:无论是声明val还是var变量都可以指定他的数据类型如val name:String=”haha” ,如果不指定格式,scala 会根据值的类型进行自动推断。
声明多个变量:可以将多个变量放在一起声明例如:val name,name1:String=”haha”
4.数据类型和操作符
基本数据类型:Byte,Char,Short,Int,Long,Float,Double,Boolean
咋一看这不是与java 的数据类型一样么但是scala 没有基本数据类型和包装类这个概念,统一都是类,scala 自己会负责基本数据类型和引用数据类型之间的转换操作。
基本操作符:scala 的基本操作符和java 没有什么太大的区别
+ ,- ,*,/,%,|,>>,<<等等
但是在scala 中这些操作符其实是数据类型的函数比如1+1 可以写成1+(1)
scala 没有提供++,– ,这些操作符,可以使用+= 来完成
5.函数调用和apply()函数
函数调用:函数调用与java 相似不在过多的叙述不同的是如果不需要传递参数()可以省略
apply:scalal 中的apply 函数是一个比较特殊的函数.scala 中可以使用类型.apply 的方式来构造函数而不使用 new 类名()的一种方式