java大数据之scala

一、Scala简介

1.1 Scala是什么

Scala是一个可扩展的语言,是一种混合函数式编程语言。它集成了面向对象和函数式编程语言的特点,并且Scala被编译在java虚拟机上运行

1.2 Scala官网

https://www.scala-lang.org/

1.3 Scala特性

(1)面向对象:Scala的每一个函数都是一个对象,它是纯面向对象的语言

(2)函数式编程:Scala的每一个函数为一个值,因为每个值是一个对象,因此最终每一个功能都是一个对象意义上的函数

(3)静态类型:不必在大多数情况下指定类型,当然也不需要重复

(4)JVM上运行:Scala被编译成虚拟机上执行的字节码

(5)可以执行java代码:可以在java sdk的scala中所有类,也是自定义java类或者java开源项目

(6)web框架:Lift框架、play框架、bowler框架

1.4 Scala优势

个人觉得比较运行速度其实没啥意义,因为两种语言都是生成 JVM 的字节码, 依赖 JVM 这个虚拟平台来跑代码. 除非 Scalac (scala的编译器) 有重大 bug, 生成的字节码执行让人无法接受, 否则基本上不会相差太多. 再说, scala 都到大版本2了, 这种概率实在是不大.


相比较与Java,在下觉得 Scala 最主要的有以下两点优势:

(1)FP 泛型支持

如果用多了Spring中大量的 template 接口, 你就会觉得 FP 其实还是蛮好用的.

而这仅仅是FP好处的冰山一角.

函数其实就是一个?input -> output?(scala也是这么表示一个函数的), 没有任何副作用, 与状态无关, 由于这种特性,

所以函数式的编程范式在分布式领域有很多好处

对于函数式编程,我的知识实在是皮毛, 但可以这么说, FP 相对与 OO 有哪些优势, Scala 对于 Java 差不多就有哪些优势.

正因为FP有如此多的优势, 所以 Java8 才引入了 FP. 从某种程度上来说, Java 认可了 Scala 的做法.

(2)类型系统支持

如果说Java是一种类型安全的语言, 那么毫无疑问, Scala 的类型更加安全, 从某种程度上说, Scala 的类型是图灵完备的, 而 Java 不是。

1.6 Scala与java差别

相对于Java而言,Scala的代码更为精简(减低犯错),而且功能更为广泛(Scala其实是Scalable Language 的简称,意为可扩展的语言),许多Scala的特性和语法都是针对Java的不足和弱点来设计的。


Scala的特点是有很多函数程式语言的特性(例如ML,Miranda, Scheme,Haskell),譬如惰性求值,list comprehension, type inference, anonymous function, pattern matching 等等,同时也包含 Object-Oriented 的特性(OO 能与 FP 混合使用是 Scala 的亮点)。此外,许多相似于高级编程语言的语法也渗入其中(例如 Python),不仅提高了 Scala 代码的可读性,维护、修改起来也较为省时省力。


Scala与 Java 语法上的明显差异有:

(1)不需要分号结尾

(2)类型定义开头需大写(与 Haskell 相同)

(3)函数定义需 def 开头(与 Python、Ruby 相同)

(4)return 可以省略

在此值得提醒的是,统计显示,Scala的代码运行速率仅为 Java 的 8 成。


二、Scala基础语法

2.1基础语法

2.2修饰符

2.3关键字

2.4 Scala注释

2.5 Scala空格和换行符

2.6 Scala包


三、Scala数据类型


四、Scala基础知识

4.1 Scala变量

4.2 Scala访问修饰符

4.3 Scala运算符

4.4 Scala循环

4.5 Scala字符串

4.6 Scala数组

4.7 Scala集合

4.8 Scala类和对象

4.9 Scala特征

4.10 Scala模糊匹配

4.11 Scala正则

4.12 Scala异常处理

4.13 Scala提取器

4.14 Scala文件IO流


五、Scala函数编程




参考文章

http://aperise.iteye.com/blog/2303419

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354

推荐阅读更多精彩内容