Scala 的 数据类型 和 操作符

数据类型

注意
  1. 在scala中所有的数据类型都是以大写字母开头
  2. 整型是Int 而不是 Integer
基础类型 类型说明
Byte 8位带符号整数
Short 16位带符号整数
Int 32位带符号整数
Long 64位带符号整数
Char 16位无符号Unicode字符
String Char类型的序列(字符串)
Float 32位单精度浮点数
Double 64位双精度浮点数
Boolean true或false

运算符

类别 操作符
算术运算符 +、-、*、/
关系运算符 >、<、==、!=、>=、<=
逻辑运算符 &&、||、!
位运算符 &、||、^、<<、>>
注意

1.scala中没有 ++,-- 运算符
2.与Java不一样,在scala中,可以直接使用==!=进行比较,它们与equals方法表示一致。而比较两个对象的引用值,使用eq,字符串可以直接使用==进行比较.

代码示例
val str1 = "abc"
val str2 = str1 + ""
str1.eq(str2)
str1.equlas(str2)
str1 == str2

在这里插入图片描述

scala类型层次结构

在这里插入图片描述

说明
类型 说明
Any 所有类型的父类,,它有两个子类AnyRef与AnyVal
AnyVal 所有数值类型的父类
AnyRef 所有对象类型(引用类型)的父类
Unit 表示空,Unit是AnyVal的子类,它只有一个的实例{% em %}() {% endem %}
它类似于Java中的void,但scala要比Java更加面向对象
Null Null是AnyRef的子类,也就是说它是所有引用类型的子类。它的实例是{% em %}null{% endem %}
可以将null赋值给任何对象类型
Nothing 所有类型的子类
不能直接创建该类型实例,某个方法抛出异常时,返回的就是Nothing类型,因为Nothing是所有类的子类,那么它可以赋值为任何类型
代码示例
val b:Int = null  
//会报错,因为Null类型并不能转换为Int类型
//这说明Null类型并不是Int类型的子类

在这里插入图片描述

发布了88 篇原创文章 · 获赞 114 · 访问量 3006

猜你喜欢

转载自blog.csdn.net/hongchenshijie/article/details/104008684
今日推荐