继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

2.数据类型

慕村9548890
关注TA
已关注
手记 1260
粉丝 227
获赞 990

简介

  Scala的基本数据类型与Java中的基本数据类型是一一对应的,不同的是Scala的基本数据类型头字母必须大写。

webp

数据类型.jpg

类型变量定义

整数类型变量定义

//16进制定义法scala> val x=0x29x: Int = 41//十进制定义法scala> val x=41x: Int = 41//八进制定义法scala> 051res0: Int = 41

浮点类型变量定义

//Double类型定义,直接输入浮点数,编译器会将其自动推断为Double类型scala> val doubleNumber=3.141529doubleNumber: Double = 3.141529//要定义Float类型浮点数,需要在浮点数后面加F或fscala> val floatNumber=3.141529FfloatNumber: Float = 3.141529scala> val floatNumber=3.141529ffloatNumber: Float = 3.141529//浮点类型的变量还可以采用指数表示法//浮点数指数表示法,e也可以是大写E,0.314529e1与0.314529*10等同scala> val floatNumber=0.314529e1floatNumber: Double = 3.14529

字符变量定义

//字符定义,用''将字符包裹scala> var charLiteral='A'charLiteral: Char = A

字符串变量定义

//字符串变量用""包裹
scala> val helloWorld="Hello World"helloWorld: String = Hello World

//要定义"Hello World",可以加入转义符\
scala> val helloWorldDoubleQuote="\"Hello World\""helloWorldDoubleQuote: String = "Hello World"//如果希望能够原样输出字符串中的内容,则用三个引号"""将字符串包裹起来,如
scala> println(""" hello cruel world, \n \\\\ \b \\, I am " experienced" programmer""")
 hello cruel world, \n \\\\ \b \\, I am " experienced" programmer

布尔类型定义

scala> var x=truex: Boolean = true

类型操作

算术运算

//整数求和,编译器会将其转换为(1).+(2)执行scala> var sumVlaue=1+2sumVlaue: Int = 3//前一语句等同于下列语句scala> var sumVlaue=(1).+(2)
sumVlaue: Int = 3//操作符重载,编译器会将其转换为(1).+(2L)执行scala> val longSum = 1 + 2L
longSum: Long = 3//减法scala> 1-3res5: Int = -2//除法scala> 1/3res6: Int = 0//取模scala> 1%3res7: Int = 1//乘法scala> 1L*3L
res8: Long = 3//scala中可以用+ -符号来表示正负数,例如-3 +3,并且可以加入到运算符当中scala> var y=1+ -3y: Int = -2

关系运算

//>运算符scala> 3 > -3res12: Boolean = true//<运算符scala> 3 < -3res13: Boolean = false//<=运算符scala> 3 <= -3res14: Boolean = false//<=运算符scala> 3 <=3res15: Boolean = true//<=运算符scala> !(3<= -3)
res16: Boolean = true

逻辑运算

//逻辑与:&&scala> val bool=truebool: Boolean = truescala> bool && boolres17: Boolean = true//逻辑或:||scala> bool || boolres18: Boolean = truescala> bool || !boolres20: Boolean = true

位运算

// 00000001// 00000010// 00000000scala> 1 & 2res24: Int = 0// 00000001// 00000010// 00000011scala> 1 | 2res24: Int = 3// 00000001// 00000011// 00000010scala> 1 ^ 3res24: Int =2//00000001//11111110scala> ~1res24: Int =-2//左移位(shift left)//00000110//00001100scala> 6 << 1res29: Int = 12//右移位(shift left)//00000110//00000011scala> 6 >> 1res28: Int = 3//无符号右移(shift left)//11111111111111111111111111111111//00000000000000000000000000000001scala> -1 >>> 31res32: Int = 1

对象比较

scala> 1==1res34: Boolean = truescala> 1==1.0res35: Boolean = truescala> val x="Hello"x: String = Hello

scala> val y="Hello"y: String = Hello//Scala中的对象比较不同于Java中的对象比较//Scala基于内容比较,而java中比较的是引用,进行内容比较时须定义比较方法scala> x==y
res36: Boolean = true

运算符优先级

  运算符优先级如下图所示,* / %优先级最高,依次类推。

webp

运算符优先级.jpg



作者:java大数据编程
链接:https://www.jianshu.com/p/91fe2b9783b8


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP