[置顶] 第一课、Scala基本语法和控制结构

时间:2022-03-13 20:10:31

1.Scala介绍

     Scala 是一种把面向对象和函数式编程理念加入到静态类型语言中的混血儿。Scala 的许多不同的方面都展现了面向对象和函数式编程的熔合

2.函数式编程的两种理念

1)第一种

      函数式头等值,在函数式语言中,函数也是值,与整数或字符串处于同一个地位

      函数可以被当做采纳数传给其他函数,可以当做结果从函数中返回或保存在变量中

      可以在函数里定义函数,就好像在函数里定义整数一样。函数还可以定义匿名函数,并随意插入到代码的任意位置

2)第二种

      方法与其所在的环境交流的唯一方式是获得参数和返回结果

       程序的操作应该把输入值映射位输出值,而不是就地修改数据

3.Scala中变量定义

    val:用val定义的变量是不可变变量,一旦定义则不能再被赋值,相当于Java中的final

    var:用var定义的变量是可变变量,定以后课再被赋值

4.Scala中标识符

   1)以字母或下划线开始,之后可以跟字母、数字和下划线

   2)不建议在标示符末尾使用下划线,将会导致编译器错误

   3)标示符不要包含$字符,可能会和Scala产生的标示符产生冲撞

5.Scala操作符

    Scala中的运算操作符和Java、C#基本一致,唯一一点不同的则是Scala没有++和--操作符,我们需要使用+=1和-=1

6.Scala中main方法

     def main(args: Array[String]){

     }

     1)def是scala的关键字,所有用def定义的内容都是函数或者方法

     2)main是方法,因为被def定义且不具有函数特征。main是Scala语言中规定的Scala的应用程序的入口,一个运行的Scala应用程序只能有一个main入口

     3)args: Array[String] 其中args是参数名称,Array[String]表面应用程序运行时候的传入参数集合

7.Scala中的if语句

  1)if条件表达式会更会if会面括号里面的boolean值来决定整个if表达式的值

   2)Scala中的if条件表达式是有值的!!! 这个Java是不一样的!

   3)  if条件表达式中可以进行类型推导,类型推导的一般过程就是根据变量的值的类型来推导确定变量的类型,这在很多复杂算法的实现的时候可以让我们
          省略掉变量的类型的书写,为复杂算法的实现提供了非常大的便利

   4)如果if后面没有else部分,默认的实现是if(....) ... else ()

   5)if表达式中如果有多条语句可以使用{}包裹起来,则{}中的最后一条语句作为计算结果

   6)if表达式可以用在for循环等其它控制结构中用于限制结果

[置顶]        第一课、Scala基本语法和控制结构

8.Scala中的for循环

    1)for循环是不断的循环一个集合,然后for循环后面的{...}代码块部分会根据for循环(...)里面提取的集合的item来作为{...}的输入进程流程控制

    2)for循环中加入的if叫做条件守卫,用于限制for循环(优化for循环,去掉不必要的执行步骤,或者说用于跳出for循环)

    3)想跳出for循环的话,除了加入if守卫以外,还可以使用return关键字

    [置顶]        第一课、Scala基本语法和控制结构

9.Scala中的while语句

   1)while循环,也是循环集合来作为{...}的输入,进而完成流程的控制的,while循环在实际Server和Framework开发中至关重要,例如让一个线程一直循环下去,一般都会使   用while

[置顶]        第一课、Scala基本语法和控制结构