Scala初探纪实

环境搭建

官网下载安装包,安装配置环境变量:http://www.scala-lang.org/download/

安装教程,自行搜索。

IDEA开发Scala,需要安装对应的scala插件。

简单实例

先来个行业标准的入门例子:

创建 SayHello.scala

object SayHello {
    def main(args: Array[String]): Unit = {
        println("Hello, Scala!")
    }
}

简述Scala

Scala跟Java很类似,所以学起来还是比较好理解其中的内容。自己动手的不难发现相比Java语法,行末的“;”可加可不加。

“Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格。”看到这句话可能有点懵,因为目前在大数据团队,身边的ETL(数据清洗转换)开发人员比较多,写SQL逻辑、shell编程的不太理解我们Java为什么要那么臃肿的代码实现。所以Scala就是一个折中的效果,既是面向对象编程,又是命令式、函数式编程风格。这应该是取各方优良品质的结合体吧。

数据类型

数据类型,跟Java大部分类似,但是还是有小部分存在差异,例如:
Java中的void修饰方法无返回值,而Scala用Unit表示。
Nothing Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。
Any Any是所有其他类的超类(我理解为Java中的Object)
AnyRef AnyRef类是Scala里所有引用类(reference class)的基类

定义变量

定义变量,val、var、lazy val ,我第一感觉这像Javascript的写法。
var 定义变量
val 定义常量
lazy val 惰性求值常量

可能lazy val惰性求值常量有点不好理解,这是指该变量第一次被使用时,才会计算对应的值。如下代码片示例

scala> val s1 =10
s1: Int = 10

scala> val s2 = 20
s2: Int = 20

scala> lazy val lv3 = s1*s2
lv3: Int = <lazy>

scala> lv3
res2: Int = 200

函数方法

Scala 函数定义格式如下:

def functionName(param:ParamType):ReturnType = {
   function body
   return [expr]
}

修饰符

Scala 访问修饰符基本和Java的一样,分别有:private,protected,public(默认)。

数组

Scala 数组,和其他编程语言一样,数组是个很重要角色。它可以存储长度固定的一组值。

// 第一种方式,先声明,再赋值
var arr1 = new Array[String](3)
arr1(0) = "百度"; arr1(1) = "阿里"; arr1(4/2) = "腾讯"

// 第二种方式,声明同时赋值
var arr2 = Array("博客", "论坛", "学院")

Scala 集合

除了熟悉的Set、List、Map、Iterator,还有元组,可以保存不同类型的元素;还有Option,有可能包含值的容器,也可能不包含值。

// 定义List
val list = List(1,2,3,4)

// 定义 Set
val set = Set(1,3,5,7)

// 定义 Map
val map = Map("one" -> 1, "two" -> 2, "three" -> 3)

// 创建两个不同类型元素的元组
val tuples = (10, "Runoob")

// 定义 Option
val options:Option[Int] = Some(5)

// 定义 Iterator
val iterator  = Iterator("no.1","no.2");

各种集合也有许多丰富的方法函数供调用,查找对应的API即可。

未完,待续。。。


以上内容为自己学习理解,仅供参考,如有理解错误,请评论指正,谢谢!


参考学习网址:http://www.runoob.com/scala/scala-install.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值