Java数据类型小结

来源:互联网 发布:网络诈骗支付宝转账 编辑:程序博客网 时间:2024/06/06 17:29

一、数据类型的分类

Java中数据类型总体可以分为两类:
1、基本数据类型:byte、short、int、long、float、double、char和boolean。
2、引用数据类型:String 、数组等。
而基本数据类型又可以按不同的格式再次进行分类,字符型:char;数值型:byte、short、int、long、float、double;布尔型:boolean;
数值型的又可以分为,整型:byte、short、int、long;浮点型:loat、double。

二、基本数据类型的转换

由于每种数据类型所占的内存空间不同,所以他们的取值范围也不同,
byte、boolean:一个字节,八位
short、char:两个字节,十六位
int、float:四个字节、三十二位
long、double:八个字节、六十四位
Java中除了boolean数据类型外,其余类型的数据是可以混合在一起运算的。例如“10 + ‘a’+ 1.5 - 5.123 * ‘b’”是合法的。不过在运算的时候,如果某个运算符两侧的类型不同,就必须转换为相同的类型,然后才能运算。
转换的基本原则:范围小的转换为范围大的,精度小的转换为精度大的。
byte→short,char→int→long→float→double
short与char相互转换都需要强转。
由于Java的字面量(默认定义类型)为int类型,所以我们在进行计算的时候,如果定义了比int类型小的类型(short,char)进行运算时,Java会转换为int类型,计算后把值重新赋值到你定义的变量中,这样就会照成类型不匹配。
例如:Java中的 ++ 运算:
++运算代表自增运算,那么我定义一个变量让他实现++ 运算应该和让他自己等于他自己+1,例如:(int a = 1; a ++ ) 这里a++ 应该等同于 a = a + 1;
但是如果a是short或者byte类型的,例如:(short a = 1; a++)这里如果改成 a = a + 1,那么编译器会报错,因为Java默认1 是int 型的,所以进行计算时 会先把a转为int类型进行计算,得到的结果也为int型 而定义的a为short,所以报错。 我们需要强转。而a++ 不会报错是因为
a++ 进行的操作是:a = (a的类型)(a + 1)即:a++ 等同于 a = (a的类型)(a + 1) 。
还有一个关于基本数据类型的细节:
我们都知道 “=”在Java中的含义是赋值“==”才是比较
现在有两个基本数据类型,a 和 b 我想比较 a与b是否相等 ,那么我用
a = b 是否可以?
答案是可以的, 因为如果我的 a和b 均为boolean 类型,那么我用“=”就是直接比较a与b的值是否相同。

0 0
原创粉丝点击