简单介绍Scala的基本数据类型,与Java唯一的不同是?

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

整数类型变量定义 
       ``` //16进制定义法 scala> val x=0x29 x: Int = 41//十进制定义法 scala> val x=41 x: Int = 41//八进制定义法 scala> 051 res0: Int = 41 ```浮点类型变量定义``` //Double类型定义,直接输入浮点数,编译器会将其自动推断为Double类型 scala> val doubleNumber=3.141529     doubleNumber: Double = 3.141529//要定义Float类型浮点数,需要在浮点数后面加F或f scala> val floatNumber=3.141529F  floatNumber: Float = 3.141529scala> val floatNumber=3.141529f floatNumber: Float = 3.141529//浮点类型的变量还可以采用指数表示法 //浮点数指数表示法,e也可以是大写E,0.314529e1与0.314529*10等同 scala> val floatNumber=0.314529e1 floatNumber: 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=true x: Boolean = true
类型操作
算术运算
      ``` //整数求和,编译器会将其转换为(1).+(2)执行 scala> var sumVlaue=1+2 sumVlaue: Int = 3//前一语句等同于下列语句 scala> var sumVlaue=(1).+(2) sumVlaue: Int = 3//操作符重载,编译器会将其转换为(1).+(2L)执行 scala> val longSum = 1 + 2L longSum: Long = 3//减法 scala> 1-3 res5: Int = -2//除法 scala> 1/3 res6: Int = 0
      //取模 scala> 1%3 res7: Int = 1
      //乘法 scala> 1L*3L res8: Long = 3
      //scala中可以用+ -符号来表示正负数,例如-3 +3,并且可以加入到运算符当中 scala> var y=1+ -3 y: Int = -2 ```关系运算//>运算符 scala> 3 > -3 res12: Boolean = true //<运算符 scala> 3 < -3 res13: Boolean = false //<=运算符 scala> 3 <= -3 res14: Boolean = false //<=运算符 scala> 3 <=3 res15: Boolean = true //<=运算符 scala> !(3<= -3) res16: Boolean = true逻辑运算``` //逻辑与:&& scala> val bool=true bool: Boolean = truescala> bool && bool res17: Boolean = true //逻辑或:|| scala> bool || bool res18: Boolean = truescala> bool || !bool res20: Boolean = true ```位运算``` // 00000001 // 00000010 // 00000000 scala> 1 & 2 res24: Int = 0// 00000001 // 00000010 // 00000011 scala> 1 | 2 res24: Int = 3// 00000001 // 00000011 // 00000010 scala> 1 ^ 3 res24: Int =2//00000001 //11111110 scala> ~1 res24: Int =-2//左移位(shift left) //00000110 //00001100 scala> 6 << 1 res29: Int = 12//右移位(shift left) //00000110 //00000011 scala> 6 >> 1 res28: Int = 3//无符号右移(shift left) //11111111111111111111111111111111 //00000000000000000000000000000001 scala> -1 >>> 31 res32: Int = 1 ```对象比较``` scala> 1==1 res34: Boolean = true
scala> 1==1.0 res35: Boolean = true
scala> val x="Hello" x: String = Hello
scala> val y="Hello" y: String = Hello
//Scala中的对象比较不同于Java中的对象比较 //Scala基于内容比较,而java中比较的是引用,进行内容比较时须定义比较方法 scala> x==y res36: Boolean = true ```运算符优先级运算符优先级如下图所示,* / %优先级最高,依次类推。

转载于:https://my.oschina.net/u/3980693/blog/2247087

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值