课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,程序员能够掌握和学习的编程语言也在不断的增加,而今天我们就一起来了解一下,Scala编程基础知识分享。Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
1、统一类型
在数据类型方面Scala与Java的大区别在于:Scala没有所谓的基本数据类型,秉承一切皆对象的彻底性,所有的数据类型和函数都是以对象的形式存在。
Any是所有类型的超类,也称顶级类型,它定义了一些通用的方法如equals、hashCode和toString,Any有两个之间的子类AnyValue和AnyRef。
AnyVal代表值类型,它有9个预定义的非空的值类型,分别是Double、Float、Long、Int、Short、Byte、Char、Unit和Boolean。Unit是不带任何意义的类型,Unit可以作为返回类型。
AnyRef代表引用类型,所有非值类型都被定义为引用类型,用户声明的自定义类型都属于AnyRef引用类型的子类型,同时在Java运行环境中调用Scala。AnyRef会被当做java.lang.Object基类。
Nothing是所有类型的子类型,包括值类型和引用类型,同时Nothing也是Null的子类型,也称为底部类型。没有一个值是Nothing类型的。Nothing类型通常用于程序非正常结束的信号,可以被理解为不定义值的表达类型,在非正常返回时使用。这点与Java中返回Null,C++中用-1作为返回符类似。
Null是所有引用类型的子类型(即AnyRef的任意子类型),它有一个单例值由关键字Null所定义。Null主要是使得Scala满足和其他JVM语言的互操作性,但是null是非常容易引发程序崩溃,同时Scala也采用了各种机制来避免使用Null类型。
2、变量
Scala的变量声明和Java有很大区别,Scala变量可分为
变量,指的是在程序运行过程中值可能会改变的量,用关键词var声明。
常量,指的是程序运行中值不会发生改变的量,使用关键词val声明常量,如果对常量修改在编译时会报错。
Scala支持语法糖,可以像Python一样省略变量类型,编译器自动根据变量和常量的初始值推测类型。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。