我的博客地址:www.taomaipin.com
其实呢 java 有四种类别的类型,共有八种类型,也就是我们常常在书中或者视频中听到的java有四类八种基础数据类型。
除了 这四类八种基础类型,剩下的java 一切类型 都是引用类型。那么 这四类八种基础数据类型是什么呢? 请看下面
第一类:整型 byte short int long
第二类:浮点型 float double
第三类:逻辑型 boolean(它只有两个值可取true false)
第四类:字符型 char
这四类八种基础数据类型 都在栈中直接分配内存空间,这些都是基础数据流类型,剩下的一切引用类型都存储在堆中,引用存储在栈中,数据存储
在堆中 引用指向堆中的数据,我说的这些可能大家 比较绕,做个比喻吧,把客厅比喻java的栈内存块,把卧室比如堆内存块,然后呢 电视机的遥控器也就是也就是电视机的引用放在客厅里,然后 遥控器指向客厅(堆)里的电视机(对象或叫数据),然后 我们就可以从客厅里操作卧室里的电视机啦.
java中默认的整数类型是int类型,如果要定义为float型,则要在数值后加上l或L;
默认的浮点型也是双精度浮点,如果要定义为float型,则要在数值后加上f或F。
?
.int型值可以赋给所有数值类型的变量;
long型值可以赋给long、float、double类型的变量;
float型值可以赋给float、double类型的变量;
double型值只能赋给double类型变量。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,
就需要使用强制类型转换。
例如:把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
long l = 1.0D;
除非使用强制类型转换
long l=(long) 1.0D;
注意:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。
String 是引用类型 不属于四类八种基础数据类型中的一个,切记切记 往往面试的时候 面试官会问道这个问题而且频率很高