这篇文章主要介绍“scala如何声明变量”,在日常操作中,相信很多人在scala如何声明变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”scala如何声明变量”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、声明变量 val 和 var
val:
不可变变量,一旦赋值就不可以改变
var:
可变变量,赋值之后也可以改变
scala> val s1 = 3
s1: Int = 3
scala> var s2 = 5
s2: Int = 5
我们先声明s1,s2两个变量,分别是val和var,现在尝试修改它
scala> s1 =6
<console>:12: error: reassignment to val
s1 =6
scala> s2 = 10
s2: Int = 10
我们看到s1修改失败,提示val不允许修改,但是s2修改成功
此外我们注意到,在s2: Int = 5
中,scala会自动给变量赋予类型Int,这是根据赋的值自动选择的,我们可以在声明变量的同时直接选择这个变量的类型,如下:
scala> val s3:String = "100"
s3: String = 100
我们直接用冒号+类型的方式,指定这个变量类型为String即可
二、基本数据类型和加强类 Byte、Char、Short、Int、Long、Float、Double、Boolean 和 String
跟java一样,scala也是8大基本数据类型,以及加强类String,含义基本一致,因为很基础这里不再赘述,只不过scala的数据类型本质上都是类,scala会负责基本数据类型和包装类的转换,也正因它们都是类,我们使用这些类型的时候,可以调用大量的函数,十分方便,如下:
scala> val num = 1
num: Int = 1
scala> num.to(10)
res7: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
声明Int类型变量num,调用其to()函数,快速创造集合
scala> "Hello".intersect("World")
res3: String = lo
String的intersect()函数取交集
类似这样的函数还有很多,大家根据需求可以自行查阅
三、基本运算符 +、-、*、/、%、&、|、^、>>、<<
这些与java也基本一致,在这里我们要注意,scala不提供++运算,可以是s1 += 1
这样的
一:可以直接键入scala代码,而不指定变量存放存放这个值,默认scala会给你一个res作为返回名称,如下:
scala> 1+1
res0: Int = 2
我们输入了1+1,并没有设定var或者val类型的变量,但是scala会自动给我们声明一个res接收代码返回值,后续的操作中我们也可以继续使用这些变量,如下
scala> res0 * 2
res1: Int = 4
二:运算符本质上是数据类型的函数,比如1 + 1
可以写作1.+(1)
,正文提到的num.to(10)
其实也可以简化成num to 10
到此,关于“scala如何声明变量”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。