SCALA语法(二)----数据类型及变量

一、数据类型

1.数值类型

2. 字符类型和字符串类型

3. Unint类型

4. Nothing类

5. 布尔类型

二、声明值和变量

1.使用var声明变量

2. 使用val声明常量

3. Scala支持多个变量,常量的声明


一、数据类型

1.数值类型

  • Float:32 位, IEEE 754 标准的单精度浮点数
  • Double:64 位 IEEE 754 标准的双精度浮点数
  • Byte:8位有符号补码整数。数值区间为 -128 到 127
  • Short:16位有符号补码整数。数值区间为 -32768 到 32767
  • Int:32位有符号补码整数。数值区间为 -2147483648 到 2147483647
  • Long:64位有符号补码整数。数值区间为 -9223372036854775808 到9223372036854775807

2. 字符类型和字符串类型

  • 字符类型用Char,符号用单引号

  例:定义一个字符myChar,给其赋初值a

         val myChar:Char =  'a'

  • 字符串类型用String,符号用双引号

 例:定义一个字符串myString,给其赋初值hello world

         val  myString: String = "hello world”

拓展:

  • String对象是不可变的,如果你需要创建一个可以修改的字符串,可以使用StringBuilder类,实例如下:

def main(args: Array[String]): Unit =

{ val Buf= new StringBuilder

Buf++="awef"

Buf++="abc"

Buf+='a'

Buf ++="efgh"

Buf ++="efghasdwfewfe"

println("Buf is "+Buf)

}

  •  可以使用length() 方法来获取字符串长度

val len=Buf.length()

  • 字符串连接
    • 可以使用concat()方法来连接两个字符串
    • 可以使用“+” 来连接两个字符串

定义两个字符串

val string1:String = "hello"

val string2:String = “world"

(1) 用concat() 方法来连接string1和string2

string1.concat(string2)

(2) 用”+“连接string1和string2 

val string3=string1+string2

3. Unint类型

Unint类型相当于Java中的void类型,表示无值。用作不返回任何结果的方法的结果类型。

Unint只有一个实例,写成().

例:

scala> var f=()

f: Unit = ()

4. Nothing类

Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。

5. 布尔类型

Boolean类型:他的值有两种:true或false

注:scala的这些数据类型都是“类”,并且都是包scala的成员,比如Int的全名是scala.Int

二、声明值和变量

1.使用var声明变量

  • 是可变的,声明的时候需要对其进行初始化,初始化以后还可以对其再次进行赋值
  • 变量的类型在变量名之后 等号之前申明,如果没有指明数据类型的情况下,可自动推测出其数据类型,但是变量必须要给出其初始值,否则会报错
#声明变量的时候给变量声明其数据类型
var myVar : String = "Foo"   #声明一个变量,变量名为myVar,初始值为Foo,变量类型为String
var myVar1 : String ="Too"   #声明一个变量,变量名为myVar1,初始值为Too
myVar = "Moo"   #更改变量myVar的值为Moo

#声明变量时也可以不声明变量的数据类型,scala会自动推断其数据类型
scala> var myVar2 = "hello"
myVar2: String = hello      #scala自动推断其数据类型为String

scala> var myVar3 = 12
myVar3: Int = 12            #scala自动推断其数据类型为Int

 #声明了变量,但是没有给其附初始值,结果报错
scala> var myVar4 : String
<console>:11: error: only classes can have declared but undefined members
(Note that variables need to be initialized to be defined)
       var myVar4 : String     

2. 使用val声明常量

  • 是不可变的,在声明时就必须被初始化,而且初始化以后就不能在赋值
  • 常的类型在常量名之后 等号之前申明,如果没有指明数据类型的情况下,scala可自动推测出其数据类型,但是常量必须要给出其初始值,否则会报错
scala> val myVar : String = "Foo"   #定义了产量产量之后不可在修改。

myVar: String = Foo

scala> myVar = "Moo"                #修改产量myVar,报错,因为常量一旦初始化之后就不能再修改
<console>:12: error: reassignment to val
       myVar = "Moo"
             ^
#定义常量,没有给其附初始数据类型,scala自动推断其数据类型
scala> var myVar1 = 12
myVar1: Int = 12                 #scala推断其数值类型为Int

scala> var myVar2 = false
myVar2: Boolean = false          #scala推断其数值类型为Boolean

3. Scala支持多个变量,常量的声明


scala> val xmax,ymax,mmax,nmax =100    # 常量xmax, ymax,mmax,nmax 都声明为100
xmax: Int = 100
ymax: Int = 100
mmax: Int = 100
nmax: Int = 100

scala> var xmax,ymax,mmax,nmax =100     #变量 xmax, ymax,mmax,nmax 都声明为100
xmax: Int = 100
ymax: Int = 100
mmax: Int = 100
nmax: Int = 100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小-枝-丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值