【大数据基础知识】Scala基本语法有哪些

发布 : 大数据培训      来源:大数据干货资料

2020-01-19 16:59:14

学习任何一门语言,我们先看的就是它的数据类型,Scala也不例外,我们先看看它的数据类型是什么样的。Scala的数据类型首先分成了两大类:AnyVal和AnyRef。AnyVal对应Java中的基本数据类型,AnyRef对应Java中的引用数据类型。AnyVal具体来说又包括了7+2种:7种数值类型,Byte、Short、Int、Long、Float、Double、Char;2种非数值数据类型,Boolean 、Unit。其中的Unit表示空值,相当于Java中的void。AnyRef包括Scala中的class、object以及Trait(特质)。AnyVal和AnyRef还有一个公共的父类,就是Any类型。

了解了Scala中的数据类型,我们再看下Scala中的变量。在前面我们讲Scala的特点曾经提到,Scala中声明变量可以不指明具体数据类型,统一用var或val声明。如:var i=3或val i=3。那么var和val的区别就是,var声明的是变量,值可以再改变。而val声明的相当于常量,值在声明后不可以再改变。所以,声明时采用var还是val,要视具体情况而定了,如果没有特别要求,通常采用val声明。

接下来,我们再看看Scala中的条件表达式。条件语句类似于Java语言,语法格式如下:

但有几点需要注意的是:

1. 条件表达式都是有返回值的,可以赋值给变量。如:


2. 条件表达式的返回值类型由每个分支的最后一个表达式决定。如果每个分支的返回值类型不一致,则采用他们最小的父类作为返回值类型。

上面的条件语句,如果赋值给变量,变量的类型就只能采用String和Int的最小父类,就是Any类型了。

最后,我们再来看看Scala中的循环语句。循环语句有for循环和while/do while循环。使用循环可以方便地遍历数组、集合或元组。

Scala中for循环有很多格式。如下面所示,(假定arr是一个数组):

1)增强for循环

2)使用索引的for循环

3)带守卫的for循环

4)加yield推导式的for循环

此时,会生成一个新的数组,数组的每个元素值比原先大5。

Scala中的while/do while循环,跟Java没太大区别,在此我们就不赘述了。要注意的就是Scala中的循环是没有break或continue语句的,我们需要加条件实现类似的功能。

好了,这次Scala基本语法我们就介绍到这了,希望能帮助您在Scala学习中顺利扬帆起航。

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部