简单的java数据类型总结
Posted jimmylearning
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的java数据类型总结相关的知识,希望对你有一定的参考价值。
java数据类型
-
基本数据类型(一般使用小写)
- 特点
- 除了值没有任何标识,1=1
- 不可变数据类型
- 在作用域范围内,局部栈中存储
- 建立成本低
- 特点
-
对象数据类型(除了基本数据类型以外的数据类型)
- 特点
- 除了值以外还有标识
- 部分可变
- 堆中存储,自动回收
- 泛型进行统一的表示
- 建立成本高
- 祖先:均为object的子类(缺省则其父类为object)
- 特点
-
基本数据类型的包装类
- 将基本数据类型封装成为对象,从而进行操作
- 尽可能少用,效用较低
- java会自动进行转换,将基本数据类型转化成基本数据类型
-
运算符
- ”+”可以完成字符串的拼接
- 运算符形式
- 对象的方法形式
- 函数形式MATH.sin()
静态语言与动态语言
- JAVA是一种静态语言
- 编译时检查
- PYTHON是动态语言,运行时检查
- 静态检查
- 在运行之前进行bug检查,编译时检查
- 目的:避免使用错误类型的操作导致的bug
- 内容:
- 语法错误
- 参数个数错误
- 参数类型错误
- 返回值错误
- 动态检查
- 在程序运行时进行检查
- 内容
- 数组越界
- 空对象调用方法
- 得到结果无法明确表达
- 静态检查为检查类型,动态检查为检查数值
- 基本数据类型可能显示的不是它原本结果
- 溢出
- 浮点数的特殊值表示NAN,POSITIVE_INFINITY, NEGATIVE_INFINITY
- 可变性与不可变性
- 不变性:
- 不变数据类型创建完成后,值不能修改
- 不变引用,一旦指定引用位置,不可再次指定
- final修饰,避免出现错误,易于理解
- notation
- final类不能继承
- final方法不能重写
- final变量不能修改
- 可变性:
- 修改时不会改变变量的指向,直接修改数据
- 可变性 vs 不可变
- 可变类型优点:
- 最小化对变量的拷贝副本
- 可以进行共享
- 可变类型缺点:不安全!
- 别名,alias
- 名字不同但是访问相同的区域,可能导致问题!
- 所以需要使用防御性编程
- 所以在传可变数据类型可以使用如下的表示方法: return new DATE(end.modify()),或者clone
- 可变类型优点:
- 不变性:
快照图表
- 显式地表示模型
- 单线是可变的,双线是不可变的
- 不可变的引用指向可变的值
复杂数据类型
- 数组:
1. 数组一旦创建,长度不可以进行修改—>a.length().
- 数组列表
1. 变长数组,只能放对象数据类型
2. List本身是一个接口,new时必须时要初始化具体实现,arraylist或linkedlist
- 迭代器(Iterator)
- 集合set 同样也只是一个接口
- 不允许重复
- 无序性
- 表 MAP 接口++,键值对
- Iteration 遍历器。
1. for each循环时隐式地使用Iterator
不可变数据类型
- 包装类
- 可以控制用户的使用权限
- 使得集合建立之后便不可修改
空引用
- NULL是对应于对象数据类型的
- 粗心使用NULL会导致各种问题
- NULL的含义是含糊不清的
以上是关于简单的java数据类型总结的主要内容,如果未能解决你的问题,请参考以下文章