数据类型
数据类型分为基本数据类型和引用数据类型
基本数据类型只在栈内存中开辟内存空间
引用数据类型在栈内存和堆内存都开辟空间
(栈内存保存的是堆内存的地址,堆内存保存的是栈内存的引用)
1.基本数据类型:(四整,两浮,一字节,一布尔)
Byte计算机信息技术计量存储容量的一种计量单位,一个单位处理一个二进制数字
串构成信息的最小单位
Bit二进制中的位 信息量的最小单位 0,1
1byte=8bit(1字节=8位)
2.数据的直接量(字面量)类型
1)直接出现在java程序中的整数
属于int类型
2)直接出现在java程序中的小数
属于double类型
long类型数据加l或L (long类型接收超过int范围的 数据时需要在这个数据后加 l或L)
float类型数据加f或F
3.int的变量值也可以是字符 如:
int x='a';
System.out.println("x结果"+x);
x结果: 97
其中x的值表示的是a这个字符代表的Unicode编码号
4.char(字符型) 2字节
存储单个字符
有且只有一个字符
char类型存储特殊字符时
可以使用转义符
’ ---- ’
" ---- "
\ ----
char类型可以转换为整数
0~65535
计算机底层
一个整数对应一个字符
unicode编码
‘a’ — 97
‘A’ — 65
‘0’ — 48
5.boolean(布尔) 1字节
常用
取值只有true和false
6.数据的溢出
1)运算的结果超出了数据的
取值范围
2)溢出并不是我们想看到的
3)还用更大的数据类型来解决
溢出问题
7.数据的舍入误差
1)浮点类型计算时
发生的计算不精确的现象
2)这个现象是由于java内部
计算除不尽导致的
8.时间偏移量
1)从1970年1月1日0点
到此时此刻经过的毫秒数
2)获得方式
long l=System.currtimilles
9.java中的数据类型转换
1)java中只允许相同数据类型的
数据进行计算
结果仍然是这个类型
2)自动类型转换(隐式类型转换)
当两个数据类型不同的数据
进行计算时,会自动将较小类型
的数据转换成较大类型的数据
再计算,结果是较大的数据类型
小 大
byte short int long float double
char
byte,short和char类型计算
结果是int(隐式转换)
3)强制类型转换(显式类型转换)
当我们需要将一个类型转换成
另一个类型的数据时
就可以使用强制类型转换
(要转的类型)数据
例如将一个double类型转换成int
double d=12.7;
int i=(int)d;//将12.7强制转12
强制类型转换可能发生精度丢失
或溢出
当两个数据类型不同的数据发生计算
要得到的结果是较小的数据类型时
类型转换
1、隐式类型转换(从小到大)
2、显式类型转换(+转换类型)
类型转换时由于类型不同会导致数据丢失
占用空间小的级别低,占用空间大的级别高,自动类型转换遵循低级到高级转换的规则。
数据的直接量(字面量)类型
1)直接出现在java程序中的整数
属于int类型
2)直接出现在java程序中的小数
属于double类型