数据类型一般分为两类:
1.基本数据类型:
表示保存在栈内存中的简单数据段
1.1java四类八种基本数据类型:
第一类:整型 byte short int long
第二类:浮点型 float double
第三类:逻辑型 boolean(true,false)
第四类:字符型 char
在栈中可以直接分配内存的数据是基本数据类型
引用数据类型:是数据的引用在栈中,但是对象在堆中
想要学好java必须知道个中数据在内存中存储的位置
对内存有了很好的了解,分析程序就更容易啦!
代码演示:
int xiaotian=170;
int xx=xiaotian;
xx=180;
输出:xiaotian=170 xx=180;
1.2基本数据类型自动转换
byte->short
char->int->long
float->double
int->float
long->double
2.引用数据类型
表示那些保存在堆内存中的对象
复制对象的引用,而不复制对象的本身
String StringBuffer等除了基本数据类型,枚举类外的所有类 都是引用数据类型 以及所有的自定义类型
代码演示:
int infozhang=new int[]{170,80}
int infoli=new int[2];
//复制
for(int i=0;i<infozhang.length;i++){
infozhang=infoli;
}
infoli[0]=180;
infoli[1]=60;
输出infozhang值后是180,60 因为infozhang值与infoli值指向同一块内存空间,infoli修改后也修改了infozhang.