0
点赞
收藏
分享

微信扫一扫

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里并不刻意区分基本类型和引用类型。Scala系列3:轻松搞定Scala变量与数据类型,运算符等基础语法_大数据

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

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中的运算符

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

尖叫提示: 


  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>



举报

相关推荐

0 条评论