22.12基本数据类型和操作 scaa的数据类型包括:Byte、Char、 Short、lnt、Long、Foat、 Double和 Boolean 和Java不同的是,在 Scala中,这些类型都是“类”,并且都是包scaa的 成员,比如,Int的全名是 scala. Int。对于字符串,Scaa用 java. lang. String 类来表示字符串 值类型 范围 Byte 8位有符号补码整数(-27~27-1) Short 16位有符号补码整数(-215~215-1) Int 32位有符号补码整数(-231~231-1) Long 64位有符号补码整数(-263~263-1) Char 16位无符号 Unicode字符(0~216-1) String 字符序列 Float 32位IEEE754单精度浮点数 Double 64位IEEE754单精度浮点数 Boolean true或 false 《大数据处理技术 Spark》 厦门大学计算机科学系 林子雨 yulin@xmu.edu.cn
《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 2.2.1.2 基本数据类型和操作 •Scala的数据类型包括:Byte、Char、Short、Int、Long、Float、Double和 Boolean •和Java不同的是,在Scala中,这些类型都是“类”,并且都是包scala的 成员,比如,Int的全名是scala.Int。对于字符串,Scala用java.lang.String 类来表示字符串
22.12基本数据类型和操作 字面量( literal) va1i=123//123就是整数字面量 va1i=3.14/3.14就是浮点数字面量 va1i=true//true就是布尔型字面量 va1i='A'//A就是字符字面量 va1i="He1lo"//" HeLlo"就是字符串字面量 《大数据处理技术 Spark》 厦门大学计算机科学系 林子雨 zyulInoxmueau cn
《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 2.2.1.2 基本数据类型和操作 字面量(literal)
22.12基本数据类型和操作 操作符:在Scaa中,可以使用加(+)、减()、乘()、除①)、余数(%)等操作 符,而且,这些操作符就是方法。例如,5+3和(5)+(3)是等价的,也就是说: 方法b等价于a.方法(b) 前者是后者的简写形式,这里的+是方法名,是nt类中的一个方法 scala> val sum1=5+3//实际上调用了(5).+(3) sum1: Int =8 sca1a> val sum2=(5).+(3)可以发现,写成方法调用的形式,和上面得到相同的结果 sum2: Int =8 和Java不同,在 Scala中并没有提供++和-操作符,当需要递增和递减时,可以 采用如下方式表达 scala> var 1=5: i: Int =5 scala>i+=1//将递增 scala> printin(i) 大数据处理技术 Spark》 厦门大学计算机科学系 林子雨 zyulInoxmueau cn
《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 2.2.1.2 基本数据类型和操作 操作符:在Scala中,可以使用加(+)、减(-) 、乘(*) 、除(/) 、余数(%)等操作 符,而且,这些操作符就是方法。例如,5 + 3和(5).+(3)是等价的,也就是说: 等价于 前者是后者的简写形式,这里的+是方法名,是Int类中的一个方法。 和Java不同,在Scala中并没有提供++和--操作符,当需要递增和递减时,可以 采用如下方式表达:
22.12基本数据类型和操作 富包装类 对于基本数据类型,除了以上提到的各种操作符外, Scala 还提供了许多常用运算的方法,只是这些方法不是在基本类 里面定义,还是被封装到一个对应的富包装类中 每个基本类型都有一个对应的富包装类,例如lnt有一个 RichInt类、 String有一个 Rich String类,这些类位于包 scala. runtime中 当对一个基本数据类型的对象调用其富包装类提供的方法, scaa会自动通过隐式转换将该对象转换为对应的富包装类 型,然后再调用相应的方法。例如:3max5 《大数据处理技术 Spark》 厦门大学计算机科学系 林子雨 zyulInoxmueau cn
《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 2.2.1.2 基本数据类型和操作 富包装类 •对于基本数据类型,除了以上提到的各种操作符外,Scala 还提供了许多常用运算的方法,只是这些方法不是在基本类 里面定义,还是被封装到一个对应的富包装类中 •每个基本类型都有一个对应的富包装类,例如Int有一个 RichInt类、String有一个RichString类,这些类位于包 scala.runtime中 •当对一个基本数据类型的对象调用其富包装类提供的方法, Scala会自动通过隐式转换将该对象转换为对应的富包装类 型,然后再调用相应的方法。例如:3 max 5
2.2.1.3 Range 从1循环到5,这时就可以采用Rnge来,比如,的值 ·在执行fo循环时,我们经常会用到数值序列 range可以支持创建不同数据类型的数值序列,包括lnt、 Long、 Float、 Double、Char、 BigInt和 BigDecimal等 (1)创建一个从1到5的数值序列,包含区间终点5,步长为1 scala> 1 to 5 res0: scala collection. immutable Range. Inclusive Range(1, 2,3, 4, 5) scala> 1. to(5) res0: scala collection. immutable Range. Inclusive= Range (1, 2, 3, 4, 5) 《大数据处理技术 Spark》 厦门大学计算机科学系 林子雨 zyulInoxmueau cn
《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 2.2.1.3 Range •在执行for循环时,我们经常会用到数值序列,比如,i的值 从1循环到5,这时就可以采用Range来实现 •Range可以支持创建不同数据类型的数值序列,包括Int、 Long、Float、Double、Char、BigInt和BigDecimal等 (1)创建一个从1到5的数值序列,包含区间终点5,步长为1