scala基础之变量、字符串、条件表达式

一、变量

语法格式1:var/val 变量名:变量类型 = 变量值
var 定义的是可重新赋值的变量
val 定义的是不可重新赋值的变量
scala语句的最后不加分号

scala> var a:String ="scala"
a: String = scala
scala> a ="java"
a: String = java

scala> val b:String ="pyhton"
b: String = pyhton

scala> b ="shell"
<console>:12: error: reassignment to val
       b ="shell"

语法格式2:var/val 变量名 = 变量值
根据变量的值推断变量的类型
对于可重新赋值的变量,只能赋值相同类型的变量

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

scala> val d=10
d: Int = 10

scala> c=20
<console>:12: error: type mismatch;
 found   : Int(20)
 required: String
       c=20
         ^

scala> c="lisi"
c: String = lisi

scala> d=3
<console>:12: error: reassignment to val
       d=3

惰性赋值:当一些变量值很大又不需要立马加载到JVM内存中时,可以使用惰性赋值
语法格式:lazy val 变量名 = 表达式

scala> lazy var sql ="select * from student"
<console>:1: error: lazy not allowed here. Only vals can be lazy
lazy var sql ="select * from student"
     ^

scala> lazy val sql ="select * from student"
sql: String = <lazy>

二、字符串

语法格式1: 双引号       var/val 变量名 =“变量值”

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

scala> print(name +" " +name.length)
hadoop 6

语法格式2: 插值表达式
var/val 变量名 =s“${变量值/表达式}字符串”

scala> val name ="hadoop"
name: String = hadoop
scala> var a =s"${name}2"
a: String = hadoop2

语法格式3: 三引号       var/val 变量名 =""“变量值”""

scala> val sql ="""use database1;select * from student"""
sql: String = use database1;select * from student

三、条件表达式

if表达式: 有返回值,在scala中没有三元表达式,可用if表达式替代三元表达式

scala> val name ="hadoop"
name: String = hadoop
scala> val if_test = if(name == "hadoop") 1 else 2
if_test: Int = 1

块表达式: 使用{}表示块表达式,块表达式的值是最后一个表达式的值

scala> val test ={print("hello")
     | 1 + 2
     | }
hellotest: Int = 3
scala>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值