scala 系列之 02scala 数据类型、变量、操作符、语句

教程 潘牛 ⋅ 于 2021-06-10 19:47:33 ⋅ 1731 阅读

3 数据类型、变量、操作符、语句

3.1 基本数据类型

scala 的基本类型有 8 种:

Byte、Char、Short、Int、Long、Float、Double、Boolean

Scala中没有基本数据类型的概念,所有的类型都是对象。

file

如上图所示:

Anyval:代表所有基本类型。

AnyRef:代表所以引用类型,包括 Scala class 和 Java class。

Any:是所有类的超类。如果不知道表达式的结果是什么类型可以用Any。

Unit:只有一个实例值 (),方法返回Unit 相当于返回了Java中的void。

scala> val a:Int = 10
a: Int = 10
scala> val b:String = "hehe"
b: String = hehe
scala> val c:Any = "hainiu"
c: Any = hainiu
scala> val d:Unit = ()
d: Unit = ()

3.2 变量声明

val:变量的引用不可变,底层相当于final 修饰

var:变量的引用可变

scala推荐用val,val就是value的缩写。

scala语言结尾不用分号和Python语言比较相似。

scala不指定变量类型是会根据值进行自动推断,当然也可以在初始化的时候明确指定变量的类型;

// val 修饰的引用不可变
scala> val a:Int = 10
a: Int = 10
// scala不指定变量类型是会根据值进行自动推断
scala> val a = 10
a: Int = 10
scala> a = 11
<console>:12: error: reassignment to val
       a = 11
         ^
// 变量的引用可变
scala> var b:Int = 10
b: Int = 10
scala> b = 20
b: 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 = 1
b: Int = 1
// b = 2 的结果是Unit,所以c的类型是Unit
scala> val c = b = 2
c: Unit = ()
// b 的值改变了
scala> println(b)
2

3.4 语句

scala 语句行尾的位置建议不加分号;

scala 代码可以自动格式化

file

如果一行有多个语句,可以用分号分隔,但不建议这么写。

file

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-潘牛,http://hainiubl.com/topics/75673
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter