学习Scala_day01_第二篇笔记

Scala变量和常量

(1)声明变量时,类型可以省略,编译器自动推导,即类型推导(与Java不同)
(2)类型确定后,就不能修改,说明 Scala 是强数据类型语言。(与JavaScript不同)
(3)变量声明时,必须要有初始值(与Java不同)
(4)在声明/定义一个变量时,可以使用 var 或者 val 来修饰,var 修饰的变量可改变,val 修饰的变量不可改。
(5)var 修饰的对象引用可以改变,val 修饰的对象则不可改变,但对象的状态(值)却是可以改变的。(比如:自定义对象、数组、集合等等)

object TestVar{
  def main(args: Array[String]): Unit = {
//    (1)声明变量时,类型可以省略,编译器自动推导,即类型推导
    var age = 18
    age = 30
//    (2)类型确定后,就不能修改,说明Scala是强数据类型语言。
    // age = "20" //错误
//    (3)变量声明时,必须要有初始值(**与Java不同**)
    // var name //错误
//    (4)在声明/定义一个变量时,可以使用var或者val来修饰,var修饰的变量可改变,val修饰的变量不可改。
    var num1 = 10 //可变
    val num2 = 20 //不可变
  
  num1 = 30 //正确
   // num2 = 30 //错误
  }
}
//   (5)var修饰的对象引用可以改变,val修饰的对象则不可改变,但对象的状态(值)却是可以改变的。
//   (比如:自定义对象、数组、集合等等)
def main(args: Array[String]): Unit = {
 // p1 是 var 修饰的,p1 的属性可以变,而且 p1 本身也可以变
 var p1 = new Person()
 p1.name = "dalang"
 p1 = null
 // p2 是 val 修饰的,那么 p2 本身就不可变(即 p2 的内存地址不能变),
但是,p2 的属性是可以变,因为属性并没有用 val 修饰。
 val p2 = new Person()
 p2.name="jinlian"
// p2 = null // 错误的,因为 p2 是 val 修饰的
 } }
class Person{
 var name : String = "jinlian"
}

Scala标识符

(1)以字母或者下划线开头,后接字母、数字、下划线
(2)以操作符开头,且只包含操作符(+ - * / # !等)(与Java不同)
(3)用反引号....包括的任意字符串,即使是 Scala 关键字(39 个)也可以(与Java不同)

object TestName {
 def main(args: Array[String]): Unit = {
 // (1)以字母或者下划线开头,后接字母、数字、下划线
 var hello: String = "" // ok
 var Hello12: String = "" // ok
 var 1hello: String = "" // error 数字不能开头
 var h-b: String = "" // error 不能用-
 var x h: String = "" // error 不能有空格
 var h_4: String = "" // ok
 var _ab: String = "" // ok
 var Int: String = "" // ok 因为在 Scala 中 Int 是预定义的字符,
不是关键字,但不推荐

//(2)以操作符开头,且只包含操作符(+ - * / # !等)
 var +*-/#! : String = "" // ok
 var +*-/#!1 : String = "" // error 以操作符开头,必须都是操作符
 
 //(3)用反引号`....`包括的任意字符串,即使是 Scala 关键字(39 个也可以
 var if : String = "" // error 不能用关键字
 var `if` : String = "" // ok 用反引号`....`包括的任意字符串,
包括关键字
 } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值