# 基础语法
# 1. Scala 数据类型


object HelloWorld {
def main(args: Array[String]): Unit = {
println("hello scala")
dataType();
}
def dataType(): Unit = {
println("hello dataType")
var b: Byte = 1
var s: Short = 2
var i: Int = 3
var l: Long = 4L
var f: Float = 5F
var d: Double = 6D
var c: Char = 'c';
var bool: Boolean = true;
var str: String = "ABC"
var strMany: String =
"""你好1
|你好2
|你好3
|""".stripMargin
println(b, s, i, l, f, d, c, bool, str, strMany)
val pa = (40, "Foo")
println(pa._1)
println(pa._2)
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 1.1 数据类型转换
# 1.2 值类型隐式转换
当Scala程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换(隐式转换)。

# 1.3 值类型强制转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转函数,但可能造成精度降低或溢出,格外要注意。
var a:Double = 1.0D
var b:Int = a.toInt
1
2
2
# 1.4 值类型和String类型的转换
在程序开发中,我们经常需要将基本数据类型转成String 类型。或者将String类型转成基本数据类型。
// 基本类型转String类型
var str1:String = 1 + ""
var str2:String = 1.0f + ""
var str3:String = true + ""
// String类型转基本数据类型
var s:String = "hello scala";
val int = s.toInt
val float = s.toFloat
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8

# 2. Scala 变量
# 2.1 变量声明
- 一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。
- 二、常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符'A'。
在 Scala 中,使用关键词 "var" 声明变量,使用关键词 "val" 声明常量。
/**
* 声明变量
*/
var myVar : String = "Foo"
var myVar : String = "Too"
/**
* 声明常量
*/
val myVal : String = "Foo"
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 2.2 变量类型声明
变量的类型在变量名之后等号之前声明。
var VariableName : DataType [= Initial Value]
// or
val VariableName : DataType [= Initial Value]
1
2
3
2
3
# 2.3 变量类型引用
在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。
所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。
// myVar 会被推断为 Int 类型,myVal 会被推断为 String 类型。
var myVar = 10;
val myVal = "Hello, Scala!";
1
2
3
2
3
# 2.4 Scala 多个变量声明
val xmax, ymax = 100 // xmax, ymax都声明为100
val pa = (40,"Foo") // 声明元组
1
2
3
2
3
# 3. 运算符
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 位运算符
# 3.1 算术运算符

# 3.2 赋值运算符

# 3.3 比较运算符(关系运算符)

# 3.4 逻辑运算符

# 3.5 位运算符

# 注意:
- Scala 中没有++、--操作符,需要通过+=、-=来实现同样的效果。
- Scala 不支持三目运算符 , 在 Scala 中使用 if – else 的方式实现。
val num = 5 > 4 ? 5 : 4 // 没有。错误写法
val num = if (5 > 4) 5 else 4
1
2
2