二维码
微世推网

扫一扫关注

当前位置: 首页 » 快报资讯 » 今日快报 » 正文

scala_系列之_02scala_数据类型_变量_

放大字体  缩小字体 发布日期:2022-02-19 12:58:59    作者:田雨菲    浏览次数:338
导读

3 数据类型、变量、操作符、语句3.1 基本数据类型#scala 得基本类型有 8 种:Byte、Char、Short、Int、Long、Float、Double、BooleanScala中没有基本数据类型得概念,所有得类型都是对象。如上图所示:Anyval:代表所有基本类型。AnyRef:代表所以引用类型,包括 Scala class 和 Java class。Any:是所有类得超类。如果不知

3 数据类型、变量、操作符、语句

3.1 基本数据类型#

scala 得基本类型有 8 种:

Byte、Char、Short、Int、Long、Float、Double、Boolean

Scala中没有基本数据类型得概念,所有得类型都是对象。

如上图所示:

Anyval:代表所有基本类型。

AnyRef:代表所以引用类型,包括 Scala class 和 Java class。

Any:是所有类得超类。如果不知道表达式得结果是什么类型可以用Any。

Unit:只有一个实例值 (),方法返回Unit 相当于返回了Java中得void。

scala> val a:Int = 10a: Int = 10scala> val b:String = "hehe"b: String = hehescala> val c:Any = "hainiu"c: Any = hainiuscala> val d:Unit = ()d: Unit = ()3.2 变量声明#

val:变量得引用不可变,底层相当于final 修饰

var:变量得引用可变

scala推荐用val,val就是value得缩写。

scala语言结尾不用分号和Python语言比较相似。

scala不指定变量类型是会根据值进行自动推断,当然也可以在初始化得时候明确指定变量得类型;

// val 修饰得引用不可变scala> val a:Int = 10a: Int = 10// scala不指定变量类型是会根据值进行自动推断scala> val a = 10a: Int = 10scala> a = 11<console>:12: error: reassignment to val a = 11 ^// 变量得引用可变scala> var b:Int = 10b: Int = 10scala> b = 20b: Int = 20// 如果给变量指定具体类型,会校验数据类型和指定类型是否一致scala> val c:Int = "hainiu"<console>:11: error: type mismatch; found : String("hainiu") required: Int val c:Int = "hainiu" ^3.3 操作符#

Scala 为它得基本类型提供了丰富得操作符集,包括:

算数运算符:加(+)、减(-) 、乘(*) 、除(/) 、余数(%);

关系运算符:大于(>)、小于(<)、等于(=)、不等于(!=)、大于等于(>=)、小于等于(<=);

逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!);

位运算符:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)、无符号右移(>>>);

赋值运算符:“=” 及其与其他运算符结合得扩展赋值运算符,例如 +=、-=;

注意:

1)与java不同得是这些运算符得操作,都是方法得调用;

2)在 scala中各种赋值表达式得值都是Unit类型;

scala> var b = 1b: Int = 1// b = 2 得结果是Unit,所以c得类型是Unitscala> val c = b = 2c: Unit = ()// b 得值改变了scala> println(b)23.4 语句#

scala 语句行尾得位置建议不加分号;

scala 代码可以自动格式化

如果一行有多个语句,可以用分号分隔,但不建议这么写。

海汼部落,原文链接:(hainiubl/topics/75673)

 
(文/田雨菲)
免责声明
• 
本文仅代表发布者:田雨菲个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈