Spark记录-Scala变量/访问修饰符/运算符
时间: 2023-07-07 15:33:28 浏览: 131
1. Scala变量
在Scala中,变量可以使用var关键字定义为可变变量或使用val关键字定义为不可变变量。例如,在Scala中,我们可以定义一个可变的整数变量如下:
```
var age: Int = 25
age = 30
```
在上面的代码中,我们定义了一个名为age的变量,并将其初始化为25。然后,我们又将其值更改为30。
另外,我们也可以定义一个不可变的字符串变量如下:
```
val name: String = "John"
```
在上面的代码中,我们定义了一个名为name的变量,并将其初始化为字符串“John”。由于它是不可变的,我们不能更改它的值。
2. 访问修饰符
Scala中有三种访问修饰符:private、protected和public。默认情况下,Scala中的所有成员都是public的。以下是这些访问修饰符的解释:
- private修饰符:只能在定义该成员的类或对象内部使用。如果一个成员被private修饰符修饰,那么它只能被同一个类或对象的其他成员访问。
- protected修饰符:只能在定义该成员的类、对象或子类中使用。如果一个成员被protected修饰符修饰,那么它可以被同一个类、对象或子类中的其他成员访问。
- public修饰符:可以在任何地方使用。如果一个成员没有被private或protected修饰符修饰,那么它就是public的。
以下是这些修饰符的示例:
```
class Person {
private var age: Int = 25
protected var name: String = "John"
def displayAge() {
println(age)
}
}
class Student extends Person {
def display() {
println(name)
}
}
```
在上面的代码中,我们定义了一个名为Person的类,并在其中定义了一个名为age的私有变量和一个名为name的受保护变量。然后,我们定义了一个名为Student的类,并在其中定义了一个名为display的方法。该方法可以访问父类中的受保护变量name,但无法访问私有变量age。
3. 运算符
Scala中支持所有常见的算术、比较、逻辑和位运算符。以下是其中的一些示例:
```
val x = 10
val y = 20
val z = 25
println("x + y = " + (x + y))
println("x - y = " + (x - y))
println("x * y = " + (x * y))
println("y / x = " + (y / x))
println("y % x = " + (y % x))
println("z << 2 = " + (z << 2))
println("z >> 2 = " + (z >> 2))
println("z >>> 2 = " + (z >>> 2))
println("x & y = " + (x & y))
println("x | y = " + (x | y))
println("!(x == y) = " + !(x == y))
println("x < y && x < z = " + (x < y && x < z))
println("x < y || x < z = " + (x < y || x < z))
```
在上面的代码中,我们使用了加、减、乘、除和模运算符,以及左移、右移、无符号右移、按位与、按位或、逻辑非、逻辑与和逻辑或运算符。
阅读全文