变量和数据类型(04)完结

Unit类型、Null类型和Nothing类型(重点)

基本说明

数据类型描述
Unit表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只是一个实例值,写成()
Nullnull,Null类型只有一个实例值null
NothingNothing类型在Scala的类型级最低端;它是任何其他类型的子类型。当一个函数,我们确定没有正常的返回值,可以用Nothing来指定返回类型,这样有一个好处,就是我们可以把返回的值(异常)赋给其他的函数或者变量(兼容性)

案例实操

运行代码

package chapter02

import chapter01.Student

object Test07_DataType {

    //5空类型
    //5.1空值Unit
    Unit 类型用来标识过程,也就是没有明确返回值的函数。
    由此可见,Unit 类似于 Java 里的 void。Unit 只有一个实例——( ),这个实例也没有实
    质意义

    def m1():Unit = {
      println("m1被调用执行")

    }
    val a = m1()
    println("a:"+a)

    //5.2空引用Null
    Null 类只有一个实例对象,Null 类似于 Java 中的 null 引用。Null 可以赋值给任
    意引用类型(AnyRef),但是不能赋值给值类型(AnyVal)

    //val n:Int = null      //错误的;值类型不能接收空引用
    var student : Student = new Student("alice", 20)
    student = null
    println(student)

    //5.3 Nothing
    Nothing,可以作为没有正常返回值的方法的返回类型,非常直观的告诉你这个方
    法不会正常返回,而且由于 Nothing 是其他任意类型的子类,他还能跟要求返回值的方法兼
    容。

    def m2(n:Int):Int ={
      if (n == 0)
        throw new NullPointerException
      else
        return n
    }

    val b= m2(2)
    println("b:"+b)



  }
}

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值