栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

018 The Scala Programming Language

018 The Scala Programming Language

1、Scala介绍

Scala(百度百科)为什么要学习Scala为什么要使用 Scala 语言?Scala 语言的优势在哪里?为什么选择Scala,它在大数据处理方面有何优势?

博主学习Scala的几个原因:
1)大数据主要的批处理计算引擎框架Spark是基于Scala语言开发的;
2)大数据主要的流式计算引擎框架Flink也提供了Scala相应的API;
3)大数据领域中函数式编程的开发效率更高,更直观,更容易理解;

2、Scala安装和使用

使用IDEA创建一个Scala项目hashMap扩容、链表转红黑树Java:字节流和字符流(输入流和输出流)FileWriter无法指定文件输出编码FileReader无法设置编码格式

BufferedXXXX函数将数据封装到内存中,内存中操作数据要快,所以它的效率要比非缓冲的高;BufferedXXXX数据输出函数使用flush()方法手动把数据立刻写到输出流中(只有使用了Buffer的对象才需要实现基类的flush()方法),否则要等达到刷新条件才把数据写到输出流中。

2.1、Scala数据类型

Scala是完全面向对象的语言,所以不存在基本数据类型的概念,有的只是任意值对象类型(AnyVal)和任意引用对象类型(AnyRef)。Char是两个字节,Unit对应java中的void,Nothing是所有对象的子类。

2.2、Scala使用

Java和Scala的强制类型转换方法不一样;基本上Scala的AnyVal类型之间都提供了相应转换的方法。

int a = 10
byte b = (byte)a
var a : Int = 10
Var b : Byte = a.toByte

Java和Scala的“==”的比较规则不一样

package com.atguigu.bigdata.scala.chapter03

object Scala01_Oper {

    def main(args: Array[String]): Unit = {

        // TODO 运算符
        val s1 = new String("abc")
        //val s1 : String = null
        val s2 = new String("abc")

        // 马丁想:判断两个对象的内存地址的意义
        // 判断对象是否相等,双等号会更加直观
        // scala语法中双等号就是比较对象的内容,但是和equals不一样。是非空equals操作
        println( s1 == s2 )
        println( s1.equals(s2) )
        println( s1.eq(s2) ) // eq方法在编译后就是java中的双等号

        val s = "abc" * 2
        println(s)
    }
}

scala函数式编程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号