温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Scala有什么用

发布时间:2021-12-04 09:11:11 来源:亿速云 阅读:126 作者:小新 栏目:云计算

小编给大家分享一下Scala有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一、基础

1、在Scala声明值和变量的时候,用val声明的值是不能改变你赋予它的内容的,而var可以。如下:

scala>val answer = 8
answer: Int = 8

以val定义的值实际上是一个常量——无法改变其内容。

如果我们想要声明其值可以改变的变量,我们可以用var:

var counter = 0
counter = 1 //OK,我们可以改变一个var

2、在指定变量类型的时候,Scala和Java有一些差别:

Java:

String greeting;

Scala:

val greeting: String = null;

3、Scala7种数值类型:Byte、Char、Short、Int、Long、Float、Double、Boolean。

4、在Scala中,我们用方法,而不是强制类型转换,来做数值类型之间的转换。例如:99.44.toInt得到99,99.toChar得到'c'。和Java一样,toString将任意的对象转换成字符串。

要将包含了数字的字符串转换成数值,使用toInt或者toDouble。例如,“99.44”.toDouble得到99.44。

5、Scala的算术和操作符重载时需要注意的是:Scala中的操作符实际上是方法。

比如说:

a + b

是如下方法调用的简写:

a.+(b)

此处的+是方法名。Scala中可以使用几乎任何符号来为方法命名,通常来说,你可以用:

a 方法 b

作为一下代码的简写:

a.方法(b)

这里的方法是一个带有两个参数的方法(一个隐式的和一个显式的)。例如:

1.to(10)可以写成: 1 to 10

6、Scala还有一个显著的不同,Scala并没有提供++和--操作符,我们需要使用+=1或者-=1

7、在Scala中的通配符是 _ 而不像是java的 * 。例如在引入时,import scala.math._

8、Scala的apply方法是一个很常用的方法。举例来说,如果s是一个字符串,那么s(i)就是该字符串的第i个字符。而字C++中,我们会写成s[i],在java中,我们会写成s.charAt(i)。在Scala中,我们却可以直接这样:"Hello"(4)//这样将会产出'o'。可以将这种方法看做是()操作符的重载形式,它背后实现原理是一个名为apply的方法。例如,在StringOps类的文档中,有以下方法:

def apply(n: Int):Char

其实也就是说,"Hello"(4)是如下语句的简写:

"Hello".apply(4)

9、Java程序员们使用Javadoc来浏览Java API,Scala也有自己的版本,叫做Scaladoc。

二、控制结构和函数

1、Scala的if/else语法结构和Java或C++一样。但是,值得注意的是在Scala中if/else表达式是有值的,这个值就是跟在if或else之后的表达式的值。如:

if (x > 0) 1 else -1

上述表达式的值是1或者-1,具体取决于x的值。甚至可以将if/else表达式的值赋值给变量:

val s = if (x > 0) 1 else -1

这和下面的语句效果是一样的:

if (x > 0) s = 1 else s = -1

但是,第一种写法更好,因为它用来初始化一个val,而在第二种写法中,s必须是var。

看完了这篇文章,相信你对“Scala有什么用”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI