Scala必备学习

scala语言的介绍

        scala是一门多范式的编程语言,即面对对象也是函数式编程(函数式编程:面对过程,编程函数)

scala语言和Java语言的对比

        相同点:

                    Java和Scala可以无缝混编,都是基于jvm,都可以相互调用

        不同点:

                    Scala类型可以自动推断,也可以写类型需要卸载变量名的后面

                     Scala定义是用val(定义常量),var(定义变量)定义

                     Scala支持函数式编程

                     构造器的不一样

                     Java中变量有默认值,Scala必须手动给默认值

                      Scala不需要分号,通过换行来判断是否这个语句结束

                      Scala中不需要get/set方法(底层已经实现)

Scala的懒加载

           Scala中使用lazy关键字修饰变量,这结束惰性变量,实现延迟加载,惰性变量只能是常量

Scala的差之器

        Scala中有三种差值器

                      1.在任何字符串前面加上s,就可以直接在字符串中使用变量

                      val name:String="cat"
                      println(s"she is name is ${name}")

                       2.f插值器

                         val height=1.23568
                         println(f"身高是${height}%.2f")

                      3.raw插值器:是输入字符串原样,不进行转义 
                      例如:
                           //没有使用raw
                           println("a\nb\n\tc")
                          //使用的效果
                          println(raw"a\nb\n\tc")

Scala访问修饰符

                  private  :一个类的内部可用
                  protected:自己类  子类也可以被访问(这个比java更加严格,java同一个包的其他类也可以访问)
                  public   ::如果没有指定修饰符  ,这样的成员在任何地方都可以被访问

Scala的数据类型

 

         

 

Any是所有类型的超类型,也是顶级类型。Any有两个子类/;

AnyVal和AnyRefAnyVal代表值类型。有9个预定义的非空的值类型分别是:Double、Float、Long、Int、Short、Byte、Char、Unit和Boolean。

Unit是不带任何意义的值类型,它仅有一个实例可以像这样声明:()。所有的函数必须有返回,所以说有时候Unit也是有用的返回类型。AnyRef代表引用类型。所有非值类型都被定义为引用类型。

在Scala中,每个用户自定义的类型都是AnyRef的子类型。Null是所有引用类型的子类型(即AnyRef的任意子类型)。它有一个单例值由关键字null所定义。

Nothing是所有类型的子类型,也称为底部类型。没有一个值是Nothing类型的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值