2021-07-02第四讲 数据类型与类型检验

数据类型与类型检验

数据类型和变量

数据类型是一组值,以及可以对这些值执行的操作。
在这里插入图片描述

变量:用特定数据类型定义,可存储满足类型约束的值。
根据Java约定,基本类型是小写的,而对象类型是以大写字母开头的。
在这里插入图片描述

对象类型形成层次结构

根——对象(所有非基本体都是对象)
–除对象外的所有类都有一个父类,用扩展子句指定
如果省略extends子句,则默认为object。
类是其所有超类的实例继承关系
–从其超类继承可见字段和方法
–可以重写方法以更改其行为

静态与动态数据类型检查

Java是一种静态类型语言。静态类型语言:
–所有变量的类型在编译时(在程序运行之前)是已知的,因此编译器也可以推断所有表达式的类型。
–如果a和b被声明为int,那么编译器得出结论a+b也是int。
–实际上,Eclipse环境在您编写代码时会执行此操作,因此您在输入代码时会发现许多错误。
– 在编译阶段进行类型检查。
在动态类型语言(如Python)中,这种检查被推迟到运行时(程序运行时)。
–在运行阶段进行类型检查。
一种语言可以提供三种自动检查:
–静态检查:在程序运行之前自动发现错误。静态类型检查
–动态检查:执行代码时自动发现错误。动态类型检查
–禁止检查:语言根本不能帮助您找到错误。你必须自己小心,否则你会得到错误的答案。无检查。
不用说,静态捕获bug比动态捕获要好,动态捕获bug比完全不捕获要好。静态类型检查 >> 动态 >> 无检查

静态检查

静态检查意味着在编译时检查bug。
§ bug是祸根毒药 编程语言。
§ 静态类型可以防止一大类bug感染您的程序:准确地说,是由于将操作应用到错误类型的参数而导致的bug。
静态类型检查:可在编译阶段发现错误,避免了将错误带入到运行阶段,可提高程序正确性/健壮性
静态类型检查可检查到的错误:在这里插入图片描述
动态类型检查可检查到的错误:
在这里插入图片描述
对比:
静态检查往往是关于类型,即与变量的特定值无关的错误。
–静态类型保证变量将具有该集合中的某些值,
但直到运行时我们才知道它到底有哪个值。
–因此,如果错误仅由某些值引起,如被零除或索引超出范围,则编译器不会对此引发静态错误。
§相比之下,动态检查往往是由特定值引起的错误。
静态检查:关于“类型”的检查,不考虑值
动态检查:关于“值”的检查

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值