Scala基础(一)

Scala是学习Spark的基础。比java更面向对象。

Scala基于Java的,其编译都依赖于JVM,使得Scala也能够跨平台运行。

Scala的SDK拥有Java的部分类库,以及自己的特有类库,和一些Java的封装类库。

1.下载Scala并配置环境变量。

2.创建Maven新工程,增加Scala支持。

即可开始书写Scala代码。

Scala大部分性质与Java类似

一、基础

由于已经学习过Java基础,相似部分无需过多介绍。

1.1定义变量(类型可省略,编译器会推导)

var 变量 [:类型] = 初始值
val 常量 [:类型] = 初始值

1.2标识符(基本同Java)

1.3输出字符串(前两种与Java一样,只总结特别的用法(便于写sql?))

var s =
      """
        |Select
        | name ,dept
        | from emp
        | where *****
        |""".stripMargin //默认以|为连接符

1.4键盘输入(类似Algs4(橘皮算法4)里的标准输入)

var a = StdIn.readLine()
var b = StdIn.readShort()
var c = StdIn.readDouble()

2.数据类型

Scala中一切数据都是对象,包括后文的函数,都是对象,都是Any的子类

其中数据类型分为AnyVal(数值)和AnyRef(引用)两大子类

Unit是一个数据类型,对应void 但是Unit的对象是() 而void在java只是关键字

Null也是一个类型,只有一个对象null

Nothing是所有数据类型的子类,用在一个函数没有明确返回值时使用。

对于Scala的数值类型的自动转换

(1)自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成 精度大的那种数据类型,然后再进行计算。

(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错,反之就会进行自动 类型转换。

(3)(byte,short)和 char 之间不会相互自动转换。

(4)byte,short,char 他们三者可以计算,在计算时首先转换为 int 类型。

3.Scala中的流程控制

if-else 需注意的是,由于定义函数的方式问题,实际上,if-else是可以有返回值的。返回值会取决于最后一行内容。

用if-else可以实现Java中的三元运算符


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值