Java的数据类型
来源:互联网 发布:gpa标准加权算法 编辑:程序博客网 时间:2024/06/04 20:34
1. Java的默认数据类型和长度
Java中有8中基本数据类型
Java中的简单类型从概念上分为四种:实数、整数、字符、布尔值。但是有一点需要说明的是,Java里面有八种原始类型,其列表如下:
实数:double、float
整数:byte、short、int、long
字符:char
布尔值:boolean
复杂类型和基本类型的内存模型本质上不一样,简单数据类型的存储原理:所有的简单数据类型不存在“引用”概念,简单数据类型直接存储在内存中的内存栈上,数据本身的值存储在栈空间里面,而Java语言里面只有这八种数据类型是这种存储模型;而其他的只要是继承于Object类的复杂数据类型都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地 讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。
2)原始类型特征:
Java的简单数据讲解列表如下:
int:int为整数类型,在存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0。
short:short也属于整数类型,在存储的时候,用2个字节存储,范围为-32,768到32,767,在变量初始化的时候,short类型的默认值为0,一般情况下,因为Java本身转型的原因,可以直接写为0。
long:long也属于整数类型,在存储的时候,用8个字节存储,范围为-9,223,372,036,854,775,808到9,223,372,036, 854,775,807,在变量初始化的时候,long类型的默认值为0L或0l,也可直接写为0。
byte:byte同样属于整数类型,在存储的时候,用1个字节来存储,范围为-128到127,在变量初始化的时候,byte类型的默认值也为0。
float:float属于实数类型,在存储的时候,用4个字节来存储,范围为32位IEEEE 754单精度范围,在变量初始化的时候,float的默认值为0.0f或0.0F,在初始化的时候可以写0.0。
double:double同样属于实数类型,在存储的时候,用8个字节来存储,范围为64位IEEE 754双精度范围,在变量初始化的时候,double的默认值为0.0。
char:char属于字符类型,在存储的时候用2个字节来存储,因为Java本身的字符集不是用ASCII码来进行存储,是使用的16位Unicode字符集,它的字符范围即是Unicode的字符范围,在变量初始化的时候,char类型的默认值为'u0000'。
boolean:boolean属于布尔类型,在存储的时候不使用字节,仅仅使用1位来存储,范围仅仅为0和1,其字面量为true和false,而boolean变量在初始化的时候变量的默认值为false
2. Java中数据的强制类型转换
在Java中如果不同数据类型的变量,需要转换的话,会根据以下两个条件来进行自动数据类型转换的:
(1)转换前的数据类型与转换后的数据类型是兼容的;
(2)转换后的数据类型比转换前的范围表示大;
比如:
byte b=30; //默认数据类型是int
b=b+1; //程序会报错,由于默认数据类型的存在,大范围向小范围转换时可能会损失数据精度
可以修改为
byte b=30;b=(byte)(b+1); //使用强制类型转换可以解决错误问题
- Java的数据类型:基本数据类型、引用数据类型
- java的基本数据类型
- Java的简单数据类型
- Java的复杂数据类型
- Java的基本数据类型
- java的基本数据类型
- java的数据类型记忆?
- Java的数据类型
- Java的数据类型
- JAVA的数据类型
- java的基本数据类型
- java的原生数据类型
- java 的基本数据类型
- Java的基本数据类型
- JAVA的数据类型
- 三、java的数据类型
- JAVA数据类型的划分
- Java的基本数据类型
- String 变量必须赋初值
- 分治策略
- to_char的详细用法
- Android Studio Gradle 缓存文件夹设置
- java访问接口
- Java的数据类型
- lua utf8 len sub
- java 线程池
- OJ 29之变位词
- PAT 1034. Head of a Gang (30)
- 数组,字符串做输入输出参数
- iOS开发数据库篇—SQLite的应用
- usb_modeswitch 自动转化的问题
- PAT 1032. Sharing (25)