Java中数据类型的分类
1. 基本数据类型
基本数据类型可以分为三种类型,数值型,字符型,布尔型。
1.1 数值型
数值类型细分可分为两大类,整数类型,浮点数类型。
整数类型可分为
byte类型,即1个字节,取值范围从-128到127,
short类型,即2个字节,取值范围从-2 ^ 15~2 ^15-1,
int类型,即4个字节,取值范围从-2 ^ 31 ~ 2 ^ 31-1,
long类型,即8个字节,取值范围从-2 ^ 63 ~ 2 ^63-1;
浮点数类型可以分为单精度float,即4个字节,-3.4E38 ~ 3.4E38,
双精度double,即8个字节,取值范围从-1.79E308 ~ 1.79E308。
注意:
1.虽然小数的取值范围非常的大,但是无法将所有小数都存储进去,因为小数存在着无限不循环小数和无限循环小数
2.同样是4/8字节,但是小数类型存储的范围要大于整数类型,原因是存储形式不一样
3.在处理金融相关的项目时,小数的计算要求是非常的高的,那么使用float和double计算的话都可能出现问题,这时可以使用BigDecimal。
1.2 字符型
字符型的大小通常为2个字节,
1.3 布尔型
布尔型的分类可以分为true或者false两大类。
2.引用数据类型
2.1 类(class)
2.2 接口(interface)
2.3数组([])
2.3.1 为什么要使用数组
数组在解决问题中提供了一个数据容器,更好的处理数据
2.3.2 内存分配
2.3.2.1 硬盘
持久化我们的数据
2.3.2.2 内存
运行时存储,在软件(程序)运行的时候开辟空间,软件运行结束后,内存中的数据就会消失。
java程序运行的时候,系统分配的内存,java程序是怎么利用的?
FunDemo01.java这个java文件肯定是存储在硬盘上的。但是当我们通过javac FunDemo01.java–>FunDemo01.class–>java FunDemo01执行这个过程中是怎样分配的?
2.3.2.3 java程序的内存分区
名称 | 描述 |
---|---|
方法区 | 又称为代码区,存放代码、静态东西、常量池 |
堆 | 存放的是new出来的东西 |
本地方法栈 | 和系统有关系 |
java虚拟机栈 | 存放局部变量的 |
程序计数器 | 和CPU计算有关 |
局部变量:方法体内定义的变量或者方法方法定义时声明的变量[形参]