Sgg:Scala语法基础(上)

1. 基础语法

Scala 语言是基于 Java 虚拟机运行的,所以基本的语法和 Java 是没有区别的。但是为了简化 Java 的开发以及融合其他的编程语言的优点和特性, Scala 在基本的语法上做了大量的修改和优化,让程序员开发起来更简单,方便,灵活。

2 标识符

  1. 首字符为字母,后续字符任意字母和数字, 美元符号,可后接下划线_(可以包括特殊字符)
  2. 首字符为特殊字符,后续字符必须都是特殊字符。
object Scala01_Label {
  def main(args:Array[String]): Unit = {
    val ++ = 20
    println(++)

    val +-*/ = 10 // + 就是标识符的名称
    println("数据为:" + +-*/)
  }
}

运行结果:

20
数据为:10

Process finished with exit code 0
  1. Scala可以允许关键字(保留字)为标识符
    但是前提必须要有反引号`
    val `true` = 30
    println(`true`)

我们来看看反编译后我们程序的样子:(jd-gui工具):
在这里插入图片描述
4. 有些保留字不能作为标识符 ,比如yield。

val `yield` = 1

3 变量

val定义的变量是不可变的 var是可变的。看我的另一篇博客

4 常用类型

在这里插入图片描述

4.1AnyVal:任意值类型

unit代表空返回值不是返回null,是返回一个()

4.2 AnyRef:任意的引用类型

String作为集合类型 Scala Collections存在于AnyRef下。
Null

  1. 表示不存在的内存地址。
  2. 与引用类型相关。
  3. Null类只有一个对象null关键字。
  4. 任意引用类型的子类。
 /*
  赋给String可以 是AnyRef子类
  但是不能赋给Int类型,不属于AnyVal
   */

  //val i:Int = null
  val s:String = null

4.3 Nothing

  1. 任意类的子类
  2. 不是用来赋值的。
  3. 代表没有正常的返回类型,没有返回类型。

Unit也代表返回类型 () 是正常的返回类型。

5 算数操作符重载

val i1 = 10
    val i2 = 20
    println(10+20)
    println(i1+i2)
    println(i1.+(i2))

反编译字节码:
在这里插入图片描述
操作符重载用法:

    val nums = 5.to(10)
    println(nums)
    val num1s = 5 to 10
    println(num1s)

运行结果:

Range(5, 6, 7, 8, 9, 10)
Range(5, 6, 7, 8, 9, 10)

Scala没有++ – 操作,需要+= -=

    //++ -- 在Scala中不存在,替代它的是 += -=
    var i = 10
    i += 10
    println(i)

6 调用函数和方法

  1. 函数不一定有必须属于的对象,方法必须属于某个对象。
  2. 调用方法,非静态方法,使用对象调用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值