0
点赞
收藏
分享

微信扫一扫

Scala 基础语法

九月的栩 2022-03-11 阅读 115
scala

 一.变量与常量

 Scala有两种类型的变量,一种是使用关键字var声明的变量,值是可以改变的;另一种是使用关键字val声明的变量,也叫常量,值是不可变的。


有几个事项注意

(1)Scala中的变量 在声明时必须进行初始化

var myVar:String="HelloWorld" //使用var声明变量myVar
val age:Int=10  //使用val声明常量

 (2)声明变量时,我们可以不给出变量的类型,因为在初始化的时候,Scala的类型推断机制能够根据变量初始化的值自动推算出来

上述声明的代码,等同于下列代码

var myVar="HelloWorld"
val age=10

(3)使用关键字var或val声明变量时,后面紧跟的变量名称不能和Scala中的保留字重名,而且变量名可以以字母或下划线开头,且变量名大小写敏感


二.数据类型

Scala中的所有值都有一个类型,包括数值和函数

Any 是所有类型的超类型,也称为顶级类型,它包含两个直接子类,具体如下:

●AnyVal: 表示值类型,值类型描述的数据是一个不为空的值, 而不是一个对象。 它预定义了9种类型,分别是Double、Float、 Long、 Int、 Short、 Byte、 Unit、 Char和Boolean。 其中,Unit是- 种不代表任何意义的值类型,它的作用类似Java中的void。

●AnyRef: 表示引用类型。可以认为,除值类型外,所有类型都继承自AnyRef。在Scala数据类型层级结构的底部,还有两个数据类型,分别是Nothing和Null, 具体介绍如下:

●Nothing: 所有类型的子类型,也称为底部类型。它常见的用途是发出终止信号,例如抛出异常、程序退出或无限循环。

●Null: 所有引用类型的子类型,它主要用途是与其他JVM语言互操作,几乎不在Scala代码中使用。


三.算术和操作符重载 

Scala中算术操作符(+、-、*、/. %)的作用和Java是一样的,位操作符(&、|、 >>、 < < <)也是一样的。特别强调的是,Scala的这些操作符其实是方法。例如,a+ b其实是a. + (b)的简写。

1   scala> val a=1

2   a:Int = 1

3

4   scala> val b=2

5   b:Int = 2

6

7   scala>a+b

8   res0:Int = 3

9   

10  scala>a.+(b)

11  res1:Int = 3

12

Scala中没有提供操作符++和--  如果我们想要实现递增或者递减的效果,可以使用“+ = 1”或“- = 1”这种方式来实现

四.控制语句结构

在Scala中控制语句包括条件分支语句循环语句

 1.条件分支语句

 2.循环语句

Scala中的for循环语句在使用上与其他语言有些不同

 比如从0循环到9并打印。

1   scala> for (i<- 0 to 9){

2        | print(i+" ")

3        | }

4

5   //打印结果为0 1 2 3 4 5 6 7 8 9

 Scala在for循环中还可以通过使用if判断语句过滤一些元素,多个过滤条件用分号隔开,例如,输出0-9范围中大于5的偶数,代码如下:

scala > for (i<-0 to 9; if i%2==0; if i>5){
      
      | println(i+" ")
      
      | }

      // 6 8

通过一个案例演示while的用法

1 scala> var x = 1

2 x: Int = 1

3

4 scala> while(x<10){

5      | print(x+" ")

6

7      | x += 2

8      

9      |}


//1 3 5 7 9

do ... while循环语句的格式如下,它与while的区别在于前者至少执行一次循环语句

 五.方法和函数

Scala的方法是类的一部分,而函数是一个对象可以赋值给一个变量,Scala中可以使用def语句和val语句定义函数,而定义方法只能使用def语句。

1.方法

Scala方法的定义格式如下:

下面定义一个方法add,实现两数相加

Scala的方法调用的格式如下:

2 .函数

Scala中的函数是一个对象,可以赋值给一个变量

Scala函数的定义格式如下:

 下面,定义一个函数addInt,实现两数之和,示例如下:

 1.方法转换成函数

方法转换成函数的格式如下:

在上述的格式中,方法名m后紧跟一个空格加一个下划线,是为了告诉编译器将方法m转成函数,而不是要调用这个方法。下面,定义一个方法m,实现将方法m转成函数,示例如下。

举报

相关推荐

0 条评论