Sala入门

编程入门 行业动态 更新时间:2024-10-08 08:28:01

Sala<a href=https://www.elefans.com/category/jswz/34/1770026.html style=入门"/>

Sala入门

 

目录

Scala概述

var vs val

Scala基本数据类型

lazy在Scala中的应用


Scala概述

Hadoop生态圈:语言常用Java

Spark生态圈:语言常用scala

scala运行于Java平台(Java虚拟机)之上,兼容现有的Java程序,scala的编译模型(独立编译、动态类加载)与Java和C#一样,所以scala代码可以调用Java类库

由于其运行于Java平台之上,所以首先你需要有一个JDK,1.8以上的版本,java -version(Make sure you have version 1.8 or 11.),scala版本选择的是2.11.8,系统是mac,直接去官网下载解压就可以了,在配置一下系统环境变量。

scala美航代码并不强求使用;结束。

var vs val

  • val: 值
    • 类比Java的final, 例如final int num= 100;
    • val 值名称: 类型=xxx
    • val定义的,不可以重新赋值
  • var:变量
    • var 变量名称: 类型=xxx
    • var定义的,可以重新赋值,但是必须是同类型的

Scala基本数据类型

  • Byte/Char
  • Short/Int/Long/Float/Double
  • Boolean

scala VS Java

  • 相同点
    • Boolean类型只能是true或者false
    • 整形字面值默认类型是Int,浮点型字面值默认类型是Doble(例如,10.0是Double而不是Float,例如val e: Float = 1.0f,不可以写成val e: Float = 1.0,因为1.0是Double类型的,不能用于Float类型的赋值),得到Long 类型,字面值后面加L(例如3L),得到Float类型,字面值后面加f(例如3.0f)
    • 小类型向大类型可以隐式转换,大类型像小类型转换需要强转
  • 些微的区别
    • Java的基本数据类型的名字是小写的
    • Java判断引用是否是类的实例:引用 instanceof 类型,scala: 值/变量.isInstanceOf[类型]
      • String str = "op";
        System.out.println("a" instanceof String); //输出:true
        System.out.println("a" instanceof String); //输出:true
        System.out.println(1 instanceof int);// 报错:意外的数据类型,需要引用,找到int
        2.isInstanceOf[Int] // res1: Boolean = truevar num = 3L //num: Long = 3
        num.isInstanceOf[Int] //res2: Boolean = falseval num1: Int = 3//num1: Int = 3
        num1.isInstanceOf[Long]//res3: Boolean = false
    • 关于类型转换
      • int num = (int)3.0;
        var d: Double = 4.0f //d: Double = 4.0,隐式转换:小类型=>大类型
        val num1: Int = d.asInstanceOf[Int] //num1: Int = 4var num:Int = 3.0.asInstanceOf[Int] //num: Int = 3

         

lazy在Scala中的应用

lazy是延迟加载的意思,只有在第一次使用的时候才会加载

例如:

scala> val i = 1 //i: Int = 1scala> lazy val a = 1 //a: Int = <lazy>
scala> a //res0: Int = 1

 

参考:慕课网-学习Scala进击大数据Spark生态圈,收获高薪未来

 

更多推荐

Sala入门

本文发布于:2024-02-05 16:46:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745495.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:入门   Sala

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!