Scala系列3:轻松搞定Scala变量与数据类型,运算符等基础语法

0. Scala中的数据类型

       因为Scala底层是Jvm,所以Scala和Java一样,有7种数值类型Byte、Char、Short、Int、Long、Float和Double(scala里无包装类型)和一个Boolean类型(都是大写的类型),其他Java支持的数据类型如String类型,Scala一般都支持。但是跟Java不同的是这些都是类,可以直接调用内嵌方法,比如:1.toString(),返回一个字符串1。在Scala里并不刻意区分基本类型和引用类型。

1.Scala中变量的使用与演示

1.1 scala中变量的使用

1.在scala中, 可以使用 val 或者 var 来定义变量, 语法格式如下:
        val/var 变量标识:变量类型 = 初始值

   val 定义的是不可重新赋值的变量
   var 定义的是可重新赋值的变量

2.代码演示
scala> val name:String = "tom"
name: String = tom

scala> val  c:String = "jack"
c: String = jack

scala> val  d:String =""
d: String = ""

scala> var a = 1
a: Int = 1

scala> var b = a*2
b: Int = 2

scala> var a1:Int = 2;
a1: Int = 2

scala> var b2:Double = a1*3.14
b2: Double = 6.28

scala> val name:String = "tom"
name: String = tom

scala> name = "Jim
<console>:1: error: unclosed string literal
name = "Jim
       ^

scala> var name:String = "tom"
name: String = tom

scala> name = "Jim"
name: String = Jim

scala> val name = "tom"
name: String = tom    scala可以自动根据变量的值来自动推断变量的类型, 这样编写代码更加简洁。

尖叫提示:

1.如上,一个很简单Scala变量求和程序a+1,回车立马出结果,从技术上讲,Scala并不是一个程序解释器。底层实际上我们输入的内容被快速地编译成字节码,然后再将这些字节码交给JVM去运行的。

2.scala中定义变量类型写在变量名后面,当然Scala中可以定义变量时不带变量类型。 这个时候scala可以自动根据变量的值来自动推断变量的类型, 这样编写代码更加简洁。
2.scala的语句最后不需要添加分号,当然你加分号人家也不报错。只有当一行有多条语句时才需要加分号;
3.var与val,一般优先使用 val 定义变量, 如果变量需要被重新赋值。才使用 var。

1.2.Scala中重点字符串类型的使用

scala提供多种定义字符串的方式, 将来我们可以根据需要来选择最方便的定义方式。

  1. 使用双引号
  2. 使用插值表达式
  3. 使用三引号
     

1.2.1使用双引号

           格式:val/var 变量名 = “字符串”   或者var/val 变量名:String = ""字符串"

scala>  var s:String = "abc"
s: String = abc

scala> val s1 = "a"
s1: String = a

scala> println(s1+s)
aabc

1.2.2插值表达式

scala中, 可以使用插值表达式来定义字符串, 有效避免大量字符串的拼接。

       格式:val/var 变量名[:String] = s"${变量/表达式}字符串"

尖叫提示:

  • 在定义字符串之前添加 s
  • 在字符串中, 可以使用 ${} 来引用变量或者编写表达式

scala> var name = "tom"
name: String = tom

scala> val age = 30;
age: Int = 30

scala> val money = 300000000;
money: Int = 300000000

scala> val  info = s"name=${name},age=${age},money=${money}"
info: String = name=tom,age=30,money=300000000

1.2.3 使用三引号

如果有大段的文本需要保存,且支持换行, 就可以使用三引号来定义字符串。 例如: 保存一大段的SQL语句。 三个引号中间的所有字符串都将作为字符串的值

       格式:val/var 变量名 = """字符串1
                                 字符串2"""

 

scala> val sql = """
     | select
     | name,
     | age,
     | sex
     | from fdm_sor.company_basic_Info_d
     | join fdm_sor.t_index_d
     | on name= code
     | """

sql: String =
"
select
name,
age,
sex
from fdm_sor.company_basic_Info_d
join fdm_sor.t_index_d
on name= code
"

3.Scala中的运算符

尖叫提示: 

  1. scala中没有, ++、 --运算符
  2. 与Java不一样, 在scala中, 可以直接使用 == 、 != 进行比较, 它们与 equals 方法表示一致。 而比较两个对象的引用值, 使用 eq
scala> val s1 = "abc"
s1: String = abc

scala> val s2 = ""
s2: String = ""

scala> val s3 = s1+s2
s3: String = abc

scala> s1==s3
res1: Boolean = true

scala> s1.eq(s3)
res2: Boolean = false

scala> s1.eq(s1+"")
res3: Boolean = false

scala>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

涤生大数据

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

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

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

打赏作者

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

抵扣说明:

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

余额充值