scala基础语法和数据类型

67 阅读3分钟

scala基础语法和数据类型分为五个点,它们分别是:

(一)Scala的变量

(二)Scala的标识符

(三)Scala代码中的注释

(四)Scala的数据类型概述

(五)类型转换

(一)Scala的变量

1.定义:变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。

2.作用:访问和修改内存数据。

3.关键字:有两个 var 和 val。var 是 variable的简写,用来定义可变变量,val是 value 的简写,用来定义不可变变量

4.定义一个变量的格式 var | val 变量名:数据类型 = 值

其中,数据类型可以省略

image.png

代码示例:

var a:String = "scala" // 正确
var a:String = 1 // 错误,类型和值不一致var a = 1;
a = 2 // 正确
val b = 2
b = 3 // 错误

定义多个变量

var|val 变量名1, 变量名2, ... = 值

此时,所有的变量都有同样的数据类型和同样的值。

例如:

var i,j = 1;

(二)Scala的标识符

1.标识符的定义

标识符是编程时使用的名字,可用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。

2.标识符的作用

作用是给对象、类、变量和方法命名。名字规则:

(1)标识符不能以数字开头,并且不能是Scala中的关键字(但可以包含关键字)。

(2)符号Scala中也可以看作字母。然而以在Scala中也可以看作字母。然而以开头的标识符被保留作为Scala编译器产生的标识符之用,应用程序应该避免使用$开头的标识符,以免造成冲突。

image.png

(三)Scala代码中的注释

在代码中添加注释可以解释说明程序,提高程序的可读性。和Java一样,在Scala中,主要有三种注释的方式:

1.单行注释。 // 注释的内容

2.多行注释。 /* 注释的内容 */

3.文档注释。/** 注释的内容*/

image.png

(四)Scala的数据类型概述

变量的数据类型有以下作用:

· 限制一个变量能被赋予的值和这些值的操作;

· 限制一个表达式可产生的值。

Scala的数据类型可以分为“数值类型”和“非数值类型”两大类。其中,数值类型跟Java中的数值类型是相同的,而非数值类型有点类似于Java中的引用类型,如:对象、字符串等。

与java的区别:

1. 数据类型的首字符都是大写的。

2. 定义变量时可以省略类型,让scala编译器自动推断。

Scala支持的数据类型

1. Byte: 8位有符号整数。数值区间为-128~127

2. Short:16位有符号整数。数值区间为-32768~32767

3. Int: 32位有符号整数。数值区间为-2147483648~2147483647。默认类型

4. Long: 64位有符号整数。数值区间为-9223372036854775808~ 9223372036854775807

5. Float:32位IEEE 754标准的单精度浮点数

6. Double:64位IEEE 754标准的双精度浮点数。默认值

7. Char:16位无符号Unicode字符, 区间值为U+0000~U+FFFF

8. String:字符序列

9. Boolean:true或false

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

11. Null:null或空引用

12. Nothing:Nothing类型在Scala的类层级的最底端,它是任何其他类型的子类型

13. Any:Any是所有其他类的超类

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

image.png

(五)类型转换

自动类型转换

例如:

val a:Int = 3
val b:Double = 3 + 2.21 // 结果是Double
val c:Byte = a + 1 // 报错,Int类型不能保存到Byte类型

强制转换

例如:

val c:Int = (1 + 1.21).toInt  // 自动舍弃了小数的部分

image.png