scala基本数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala基本数据类型相关的知识,希望对你有一定的参考价值。

参考技术A

变量是程序的基本组成单位

var|val 变量名 [: 变量类型] = 变量值

整形
scala整数类型有固定的表数范围和字面长度,不受OS影响
scala的整数默认为整形,如果想表示Long,后面加L
浮点型
不受OS影响
scala浮点型常数默认为Double,声明float后面要加F
浮点型有两种表示方式十进制型和科学计数型(0.12,0.12f,.12,5.12e2=5.12乘以10的2次方)
字符类型
常量用双引号(" ")括起来
允许使用转义符
直接给Char整数,会输出码表对应的字符
Char可以进行运算,字符都有对应的数值
存储:字符->码值->二进制->存储
读取:二进制->码值->字符->读取
布尔类型
只允许取值true和false
只占1个字节
适用于逻辑运算
Unit
只有1个实例null,可以赋值给任意的引用类型,但是不能赋值给值类型(Int等)
函数没有返回值
Nothing
方法不会正确返回

值类型隐式转换

高级隐式转换和隐式函数

强制类型转换
自动类型转换的逆过程
将容量大的数据类型转换成容量小的数据类型,使用时要加上强制转换函数,但 可能造成精度降低或溢出 ,要格外注意
强制符号只针对最近的操作数有效,使用括号提升优先级
Char类型可以保存Int常量值,但不能保存Int变量值,需要强转
Byte和Short在运算时当作Int来处理

值类型和字符串类型的转换
基本类型转string + ""
string转基本数据类型 .toInt, .toDouble, ……
12.5转Int 报错!

Scala基本类型和操作


1、基本类型和操作

1、一些基本类型

整数类型:Byte,Short,Int,Long,Char

数值类型:Float,Double

布尔类型:Boolean

Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型:

数据类型

描述

Byte

8位有符号补码整数。数值区间为 -128 到 127

Short

16位有符号补码整数。数值区间为 -32768 到 32767

Int

32位有符号补码整数。数值区间为 -2147483648 到 2147483647

Long

64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807

Float

32 位, IEEE 754标准的单精度浮点数

Double

32 位 IEEE 754标准的单精度浮点数

Char

16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF

String

字符序列

Boolean

true或false

Unit

表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。

Null

null 或空引用

Nothing

Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。

Any

Any是所有其他类的超类

AnyRef

AnyRef类是Scala里所有引用类(reference class)的基类

 

2、字面量

整型字面量:

整型字面量用于 Int 类型,如果表示 Long,可以在数字后面添加 L 或者小写 l 作为后缀。:

0

035

21

0xFFFFFFFF

0777L

浮点型字面量:

如果浮点数后面有f或者F后缀时,表示这是一个Float类型,否则就是一个Double类型的。实例如下:

0.0

1e30f

3.14159f

1.0e100

.1

 

符号字面量:

var name:Symbol = 'name //声明符号字面量
println(name.name); //只能访问符号字面量的名称

 

3、字符串插值

字符串拼接,注意使用s开始,并使用${..}取值:

var name: String = "Jack";
println(s"Hello $name and ${name} and 计算:${8 + 10}");

 

raw开始的返回原值,即是什么字符串,就显示什么字符串:

println(raw"Jack And \n Rose And");//其中的\n并不会解释成回车

 

printf风格

println(f"${math.Pi}%.5f , ${5.67890}%.2f");//%后面必须要紧跟着

返回:3.14159 5.68

 

4、操作符号就是方法

实际上,1+2调用的是1的方法+,所在,可以写成1.+(2)。而+有很多的重载,所以1.+(2L)返回Long类型。


以上是关于scala基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章

scala 数组 基本类型

Scala 基础—— 基础类型和基础操作

Scala基础语法

3.Scala基础知识

Spark学习scala语法

Scala基本使用