【软件构造】第三章 第一节 数据类型和类型检查

本文探讨了编程语言中数据类型的分类与应用,包括基本数据类型与对象数据类型的特性及区别,静态与动态数据类型的差异,以及不同类型的检查方式。此外还介绍了可变类型与不可变类型的概念,并推荐在编程实践中尽可能使用不可变类型。

1.编程语言中的数据类型

(1)数据类型和变量之间的区别:数据类型是抽象,而变量是对数据类型的具体实例化

(2)数据类型分为:基本数据类型和对象数据类型

(3)对象类型之间可形成层次结构;对基本的数据类型也可以打包成对象数据类型,如Integer,但尽量避免使用

(4)操作:对于基本的数据类型,操作包括+-*/等;而对于对象数据类型,操作由其定义的方法决定

2.静态数据类型和动态数据类型

    Java是一种静态类型的语言,在编译过程进行类型的检查;Python等语言是动态语言,在运行时进行类型检查

3.类型检查

    静态类型检查更关心类型的检查,而动态类型检查则更关系对值的检查(非法参数值,非法返回值,越界等)

4.可变类型和不可变类型

5.学会使用snapshot来作为一个code-level,run-time和moment view

6.复杂数据类型:Arrays和Collections(慎用迭代器)

7.尽量使用immutable类型的数据

    Java开发者为各种常见的mutable数据类型提供了包装器将其包装成不可变类型,但是在编译阶段无法类型检查

    例如:public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)

8.java语言取消了指针,但不意味着不会出现指向空指针的问题


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值