前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scala快速入门系列【数据类型与操作符】

scala快速入门系列【数据类型与操作符】

作者头像
大数据梦想家
发布2021-01-26 11:13:52
3160
发布2021-01-26 11:13:52
举报
文章被收录于专栏:大数据成长之路

作为scala快速入门系列的第五篇博客,小菌为大家带来的是关于数据类型与操作符的内容。

在这里插入图片描述
在这里插入图片描述

scala中的类型以及操作符绝大多数和java一样,通过本篇博客,我们将学习:

  • 与Java不一样的一些用法
  • scala类型的继承体系

数据类型

基础类型

类型说明

Byte

8位带符号整数

Short

16位带符号整数

Int

32位带符号整数

Long

64位带符号整数

Char

16位无符号Unicode字符

String

Char类型的序列(字符串)

Float

32位单精度浮点数

Double

64位双精度浮点数

Boolean

true或false

注意下 scala 类型与java的区别

[!NOTE]

1.scala中所有的类型都使用大写字母开头 2.整形使用Int而不是Inteage 3.scala中定义变量可以不写类型,让scala编译器自动推断


运算符

类别

操作符

算术运算符

+、-、*、/

关系运算符

>、<、==、!=、>=、<=

逻辑运算符

&&、||、!

位运算符

&、||、^、<<、>>

[!NOTE]

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

示例

有一个字符串"abc",再创建第二个字符串,值为:在第一个字符串后拼接一个空字符串。

然后使用比较这两个字符串是否相等、再查看它们的引用值是否相等。

参考代码

在这里插入图片描述
在这里插入图片描述

scala类型层次结构
在这里插入图片描述
在这里插入图片描述

类型

说明

Any

所有类型的父类,,它有两个子类AnyRef与AnyVal

AnyVal

所有数值类型的父类

AnyRef

所有对象类型(引用类型)的父类

Unit

表示空,Unit是AnyVal的子类,它只有一个的实例() 它类似于Java中的void,但scala要比Java更加面向对象

Null

Null是AnyRef的子类,也就是说它是所有引用类型的子类。它的实例是null 可以将null赋值给任何对象类型

Nothing

所有类型的子类 不能直接创建该类型实例,某个方法抛出异常时,返回的就是Nothing类型,因为 Nothing是所有类的子类,那么它可以赋值为任何类型

通过下面一个实例,为大家展示一个nothing的实例。

Nothing

在这里插入图片描述
在这里插入图片描述

问题

以下代码是否有问题?

代码语言:javascript
复制
val b:Int = null

结果

scala会解释报错: Null类型并不能转换为Int类型,说明Null类型并不是Int类型的子类


本篇博客到这里就结束了,感兴趣的小伙伴们可以持续关注哟~下一篇将为大家带来条件表达式的基本使用,敬请期待!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据类型
  • 运算符
  • scala类型层次结构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档