注:
本内容依赖相关参考资料以及本人理解,不保证100%正确,仅供参考
欢迎大家指出错误之处,一同交流、学习。
参考资料:
一:声明值和变量
Scala有两种类型的变量:
- val:不可变,相当于常量,在声明的时候必须初始化,且初始化后不可再赋值
- var:可变,变量,在声明的时候需要进行初始化,初始化后可以对其再次赋值
Scala有自动类型推导,如:
系统自动推断出来变量myStr 为字符串模式(String类来自java.lang.String Scala直接使用java的定义,未自己定义此数据结构)
同时我们也可以显示的指定类型:
var myStr: String = "I love Scala!" var myStr2: java.lang.String = "I'm string class from java" // Scala 的 String类是直接使用的java String类
其中 : 分隔了变量名和类型,和java不同,scala是变量名在前,类型在后,并以:分隔,这里要注意
其他,例:
二:基本数据类型和操作
数据类型:
- Scala的数据类型包括:Byte, Char, Short, Int, Long, Float, Double和Boolean
- 和Java不同的是,这些类型都是“类”,并且都是包scala的成员。比如Int的全名是scala.Int 。对于字符串,Scala用的是java.lang.String类来表示字符串
参考:
字面量 literal
通常我们还有一个术语,字面量(英文literal)
字面量通俗的来说就是值
如下图
我们后面会说字面量,字面量对于我们理解Scala中的函数有很大帮助,这里大家先知道,字面量是什么
操作符:
scala有: + - * / % 等操作符,在scala中,操作符就是方法。例如: 5 + 3 和 5.+(3) 是等价的,也就是说:
a 方法 b 等价于: a.方法(b)
前者是后者的简写形式,+是方法名,如示例的5.+(3),+是Int类中的一个方法
Scala没有提供++ 和 -- 的操作符,如果需要递增或者递减的时候,可以 使用 += 或者 -=, 比如
var x = 1 x += 1
富包装类:
-
对于基本数据类型,除了上述提到的各种操作符外,Scala还提供了了其他常用运算的方法,只是这些方法不在基本的类中提供,而是被封装到了一个富包装类中(富裕的包装类)
-
每个基本类型都有一个对应的富包装类,例如Int有一个RichInt类、String有RichString类,这些类位于包:scala.runtime中
-
当对数据类型的对象调用其富包装类提供的方法,Scala会自动隐式转换将该对象转换成对应富包装类的对象,用以使用相应的方法,如:Int类中没有提供max方法,如果我们键入:3 max 5 会自动转换成RichInt类执行操作,因为max方法定义在RichInt
-
富包装类是对基础类的包装,富是富裕的意思,表示比基础类提供更多的方法
Range:
原文地址:https://www.cnblogs.com/bigdatacaoyu/p/10922172.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。