美文网首页Scala
【Scala基础】Scala变量与数据类型

【Scala基础】Scala变量与数据类型

作者: 后端技术学习分享 | 来源:发表于2019-12-25 22:40 被阅读0次

    变量

    语法
    1. 变量定义
    • 刚刚开始学习,可直接使用Scala SDK自带的交互命令行,或者使用IDEA软件建立Scala项目
    • 交互命令行可以使用Windows命令行输入scala打开(前提配置好了Scala SDK环境变量)。

    先来看个例子:

    // Scala定义变量的方法(注意与Java的不同之处): val/var 名称:类型 = 初始值 
    // Scala代码末尾可不加分号
    // val定义的是不允许重新赋值的变量,也即是定义后不能再对a进行赋值操作
    val a:Int = 1  
    
    // var与val相反,其定义的变量可被重新赋值
    var b:String = "xxx"
    
    // 可不声明变量类型,编译器会自动判断其类型
    var c = 0.33
    
    1. 惰性变量
      • 使用lazy关键字,Scala将在调用到该对象的时候再将其加载(实例化)。注意惰性变量只可用于不可变变量
    lazy val ss = "asd"
    
    Scala数据类型

    Scala数据类型与Java相似,但是Scala的数据类型均为大写,如Int、Byte等,这与Java不同。

    类型
    Byte 8位带符号整数
    Short 16位带符号整数
    Int 32位带符号整数
    Long 64位带符号整数
    Char 16位无符号Unicode字符
    String Char类型的序列(字符串)
    Float 32位单精度浮点数
    Double 64位双精度浮点数
    Boolean true或false
    Scala的类

    Scala的类结构如下:

    scala类结构.png
    • Any

    可类比于Java的Object

    • AnyVal

    他是所有数值类型的父类

    • AnyRef

    他是所有引用/对象类型的父类

    • Unit

    类比于Java的void,注意他是AnyVal的子类;
    只有一个实例(),表示空;
    由此你有没有觉得Scala比Java更加面向对象?

    • Null

    所有引用类型的子类,其实例是null

    • Nothing

    所有类型的子类,无法直接创造该类型实例

    个人公众号,定期分享各种技术干货,欢迎扫码关注!
    扫描上方二维码获取更多技术分享

    相关文章

      网友评论

        本文标题:【Scala基础】Scala变量与数据类型

        本文链接:https://www.haomeiwen.com/subject/zymhoctx.html