3 数据类型、变量、操作符、语句
3.1 基本数据类型#scala 得基本类型有 8 种:
Byte、Char、Short、Int、Long、Float、Double、Boolean
Scala中没有基本数据类型得概念,所有得类型都是对象。
如上图所示:
Anyval:代表所有基本类型。
AnyRef:代表所以引用类型,包括 Scala class 和 Java class。
Any:是所有类得超类。如果不知道表达式得结果是什么类型可以用Any。
Unit:只有一个实例值 (),方法返回Unit 相当于返回了Java中得void。
scala> val a:Int = 10a: Int = 10scala> val b:String = "hehe"b: String = hehescala> val c:Any = "hainiu"c: Any = hainiuscala> val d:Unit = ()d: Unit = ()3.2 变量声明#
val:变量得引用不可变,底层相当于final 修饰
var:变量得引用可变
scala推荐用val,val就是value得缩写。
scala语言结尾不用分号和Python语言比较相似。
scala不指定变量类型是会根据值进行自动推断,当然也可以在初始化得时候明确指定变量得类型;
// val 修饰得引用不可变scala> val a:Int = 10a: Int = 10// scala不指定变量类型是会根据值进行自动推断scala> val a = 10a: Int = 10scala> a = 11<console>:12: error: reassignment to val a = 11 ^// 变量得引用可变scala> var b:Int = 10b: Int = 10scala> b = 20b: Int = 20// 如果给变量指定具体类型,会校验数据类型和指定类型是否一致scala> val c:Int = "hainiu"<console>:11: error: type mismatch; found : String("hainiu") required: Int val c:Int = "hainiu" ^3.3 操作符#
Scala 为它得基本类型提供了丰富得操作符集,包括:
算数运算符:加(+)、减(-) 、乘(*) 、除(/) 、余数(%);
关系运算符:大于(>)、小于(<)、等于(=)、不等于(!=)、大于等于(>=)、小于等于(<=);
逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!);
位运算符:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)、无符号右移(>>>);
赋值运算符:“=” 及其与其他运算符结合得扩展赋值运算符,例如 +=、-=;
注意:
1)与java不同得是这些运算符得操作,都是方法得调用;
2)在 scala中各种赋值表达式得值都是Unit类型;
scala> var b = 1b: Int = 1// b = 2 得结果是Unit,所以c得类型是Unitscala> val c = b = 2c: Unit = ()// b 得值改变了scala> println(b)23.4 语句#
scala 语句行尾得位置建议不加分号;
scala 代码可以自动格式化
如果一行有多个语句,可以用分号分隔,但不建议这么写。
海汼部落,原文链接:(hainiubl/topics/75673)






