Java基础数据类型
数据类型
头脑时间
一个程序的组成
基本单位:类
* 操纵基础数据类型
* 选择
* 循环
基本数据类型算是抽象的数据结构
8个基础数据类型
刷基础题
基础数据类型
这个变量直接存储值,并置于堆栈中,更高效。
它们所占存储空间的大小不随底层机器硬件架构的变化而变化,这是java程序更具可移植性的原因之一
关键字(8)都是小写 | 解释 | 几位 | 取值范围 |
---|---|---|---|
byte | 字节型 | 8bit | -128~127(-2的7次方到2的7次方-1) |
short | 短整型 | 16bit | -32768~32767(-2的15次方到2的15次方-1) |
int | 整型 | 32bit | -2147483648~2147483647(-2的31次方到2的31次方-1) |
long | 长整型 | 64bit | -9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1) |
float | 浮点型 | 32bit | 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方) |
double | 双精度 | 64bit | 1.797693e+308~ 4.9000000e-324 |
char | 字符型 | 8bit | 采用unicode编码,它的前128字节编码与ASCII兼容 字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1, char c = ' 1 '; |
boolean | 布尔型 | 8bit | true和false |
char和byte区别?
byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;
char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符;char可以表示中文字符,byte不可以
底层:有符号和无符号,涉及计算机组成原理的存储了
IO传输图片等二进制文件用byte[],基本的文档text用char[]
char与ASCII涉及转化问题
数据类型转换
自动数据类型转换
自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:
低--------------------------------------------->高
byte,short,char-> int -> long -> float -> double
强制数据类型转换
char c='A';
System.out.println((int)c);//65
byte b=97;
System.out.println((char) b);//a
总结
既然能类型转换,byte,short,char,int , long,简单来说是取值范围的不同