【Scala基础】Scala变量与数据类型

本文介绍Scala编程语言的基础概念,包括变量定义、数据类型、类结构等内容。详细解释了val与var的区别,以及如何定义惰性变量。同时,对比了Scala与Java在数据类型上的异同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量
语法
  1. 变量定义
  • 刚刚开始学习,可直接使用Scala SDK自带的交互命令行,或者使用IDEA软件建立Scala项目
  • 交互命令行可以使用Windows命令行输入scala打开(前提配置好了Scala SDK环境变量)。

先来看个例子:

// Scala定义变量的方法(注意与Java的不同之处): val/var 名称:类型 = 初始值 
// Scala代码末尾可不加分号
// val定义的是不允许重新赋值的变量,也即是定义后不能再对a进行赋值操作
val a:Int = 1  

// var与val相反,其定义的变量可被重新赋值
var b:String = "xxx"

// 可不声明变量类型,编译器会自动判断其类型
var c = 0.33
  1. 惰性变量
    • 使用lazy关键字,Scala将在调用到该对象的时候再将其加载(实例化)。注意惰性变量只可用于不可变变量
lazy val ss = "asd"
Scala数据类型

Scala数据类型与Java相似,但是Scala的数据类型均为大写,如Int、Byte等,这与Java不同。

类型
Byte8位带符号整数
Short16位带符号整数
Int32位带符号整数
Long64位带符号整数
Char16位无符号Unicode字符
StringChar类型的序列(字符串)
Float32位单精度浮点数
Double64位双精度浮点数
Booleantrue或false
Scala的类

Scala的类结构如下:

7291544-4cc46b88f74e2824.png
scala类结构.png
  • Any

可类比于Java的Object

  • AnyVal

他是所有数值类型的父类

  • AnyRef

他是所有引用/对象类型的父类

  • Unit

类比于Java的void,注意他是AnyVal的子类;
只有一个实例(),表示空;
由此你有没有觉得Scala比Java更加面向对象?

  • Null

所有引用类型的子类,其实例是null

  • Nothing

所有类型的子类,无法直接创造该类型实例

个人公众号,定期分享各种技术干货,欢迎扫码关注!
7291544-e9c2be92f8ea2f93.jpg
扫描上方二维码获取更多技术分享
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值