Scala语言(一)

8 篇文章 0 订阅
1 篇文章 0 订阅

Scala语言

scala2.10兼容的spark是1.6
scala2.11兼容的spark是2.x


spark底层源码就是scala来写的

 

①Scala语言是一门类似Java的多范式语言,它就是在Java基础上发展起来的。

scala是基于JVM的语言,是运行于Java虚拟机之上的,可以兼容现有的所有Java程序

scala可以和Java无缝整合。即可以在scala中调用java的包和类;在java编程时,也可以调用scala中的包和类

理论上来说,基于JVM的语言全都可以互相调用,就看有没有提供这种转换方式

 

      也因为scala与java的兼容,使得Hadoop和Spark能够实现很好的融合(Hadoop是基于Java生态的,Spark是基于Scala的)。Hadoop在2005-2015年这十年的时间里已经统治了整个大数据的江湖

 

②Scala是一门纯粹的面向对象的编程语言

甚至3和5也都是对象,3+5其实是3.add(5)

 

③Scala是一门函数式语言

Scala整合了两种编程范式的风格。既支持面向对象编程风格,也支持函数式的编程风格,是一种混合的编程范式。

运行Scala程序的方法

①交互式环境执行

退出命令行 :quit

查看scala版本

scala -version

 

②load导入脚本,一次运行多个程序

 

③通过编译打包的方法运行Scala程序

:是把两个路径组合在一起

 

新建Scala项目

新建个包com.scala

可见scala中类和对象是不一样的

对象


scala object相当于java中的单例,object中定义的全是静态的

object可以理解为是java中的工具类,工具类里都是静态的

main方法必须要写在object里面,才可以运行

package com.scala

object scala_obj {
  def main(args: Array[String]): Unit = {
    println("hello world")
  }
}

 

scala每行后面都会有分号自动推断机制,不用显式写出";"

 

 

 

 

 

 

 

Scala的基本数据类型和变量

Noting是类型推断推不出来的时候


 

要注意的是,在整个Scala当中,我们所定义的这些类型都是类

 Int类型实际上是scala.Int类

       还有一个比较特殊的地方,整个Scala当中String类型没有自己的定义,它是完全直接从Java当中照搬过来的,用java.lang.String这个类来表示字符串

 

运算符

 

字面量

 

操作符定义成方法

 

富包装类

当用到富包装类里面有的操作时,Scala会自动地隐式地把当前类转换成富包装类

 

scala类型自动推断

scala定义变量只有val和var

val是定义常量,var是定义变量

定义的形式就是 val a = 100, var b = 200

不需要也不能写变量的类型,scala会自动推断

 

 

输入输出和控制结构

输入输出

Scala支持C语言风格格式化字符串

因为

 

Scala是区分大小写的

 

插值字符串

只要出现“$+变量名”就会在这个位置用变量值来替换这个地方

f字符串可以用来控制格式,s字符串不行


读写文件

如果在/home/hadoop目录下启动scala,test.txt就需要被放在这个目录下

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值