关于Scala的知识点
Posted cyan-sea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Scala的知识点相关的知识,希望对你有一定的参考价值。
Scala的概念:
Scala是一个面向对象和面向函数式的多范式编程语言,基于JVM,运行于Java虚拟机,兼容现有Java程序。
在Scala编程中,“每个值都是对象,每个符号都是方法操作”。
在面向函数中,函数是一个对象。他跟字符串、数值具有同等地位,也就是说函数可以赋值给一个变量,可以作为方法的参数,可以作为方法的返回值。函数操作在程序中是一个输入到输出的映射关系。输入参数不可变是函数式编程的基石。
"函数式编程"是一种"编程范式"(programming paradigm)。它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。
Scala的优点:
1.优雅:Scala语言设计非常贴合程序开发思维方式,并且能够很轻松的实现复杂的功能。这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。
2.速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。
3.能融合到Hadoop生态圈: Scala是目前大数据处理框架Spark以及消息中间件Kafka的基础开发语言,能够很容易融入大数据生态圈。Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。
4.语言表达能力强:Scala的语法结构非常简单,但是其表达能力很强。比如循环遍历集合操作,Java至少需要4行 ,Scala基本上1行代码就可以搞定,能够节省大量的开发成本,并且释放了我们的键盘。
5.Scala是基于JVM的编程语言,并且是静态类型。能够跟Java语法相互兼容,且具有可移植的特性。
Scala声明变量:
val:不可变变量,一旦声明在其生命周期中不可变,相当于java中的final修饰的变量。
var: 可变变量,可变指的是变量的值可变,变量的数据类型不可变。
注:声明变量时,类型可以省略,类型确定后就不能修改。Scala编译器会自动推断变量的类型,必要的时候可以指定类型。
Scala常用数据类型:
1.整数类型:Byte 、Short、Char、Int、Long
2.浮点类型:Float、Double
3.布尔类型:Boolean
4.字符串类型:String
注意:
1.整型的省略数据类型后,默认的都是Int类型
2.浮点的省略数据类型后,默认的都是Double类型
Scala运算符:
1.算数运算符 : + - * / %
2.比较运算符:> < >= <=
3.逻辑运算符:&& || !
4.位运算符:>> <<等
Scala表达式:
1.条件表达式:if表达式可以有多种不同类型的返回值,在Scala中无返回值的情况值缺省返回 “()”
2.块表达式:使用花括号括起来一段具有返回值的程序,就是块表达式。其中块的最后一个表达式的值就是块的值。
3.for循环:该表达式会返回新的数据集合
Scala的方法定义:
1.方法的返回值是方法中最后一个表达式,并且返回值类型可以省略。
2.方法的参数默认修饰符也是val,并且不能使用修饰符修饰。
3.针对递归调用的方法一定不能省略返回值。
Scala中方法和函数的区别:
在函数式编程语言中,函数是“头等公民”,它可以像任何其他数据类型一样被传递和操作。函数是一个对象,继承自Fuction。
方法只能作为对象的成员存在。
Scala的数据结构:
1.数组 Array
2.列表 List
3.元组 Tuple
4.映射 Map
5.集合 Set
其中Array、List、Map、Set数据结构又分为了可变和不可变
以上是本篇随笔的内容,下一章将会讲述数据结构的详细信息和面向对象编程。
以上是关于关于Scala的知识点的主要内容,如果未能解决你的问题,请参考以下文章