1.JAVA中的数据类型
a.常见的8种数据类型
名称 类型 内存大小
byte 字节型 8bit---------->bit是内存中最小的单位,是一个二进制位
short 短整型 16字节
int 整型 32字节
long 长整型 64字节
flout 单精度浮点型 64字节
double 双精度浮点型 128字节
char 字符型 16字节 注:JAVA中char是可以存储汉子,而汉字默
认由两个字符组成。
boolean 布尔型 无特定字节,仅仅表示true和false
b.引用类型
java中引用类型有很多,通常常见的是class、和数组
eg.class HnuStudent extends Student{
public static void main(String args[]){
int [][] a = new int[4][4];
HnuStudent hnu1 = new HnuStudent(a);
HnuStudent hnu2 = new HnuStudent(hnu1);
}
}
2.数据类型的传递
这里我讲两种传递类型,传值和传引用(即所谓的传地址)
a.值传递
eg.class HnuStudent extends Student{
public static void main(String args[]){
int a = 0; //定义a,给a赋值为0
a++; //a自加
int b; //定义b
b = a; //将a的值赋值给b-------这里发生值的传递
b++; //b自加
System.out.println(a); //输出a
System.out.println(a); //输出b
}
}
b.传引用
eg.class HnuStudent extends Student{
public static void main(String args[]){
int [][] a = new int[4][4];
HnuStudent hnu1 = new HnuStudent("张三",20);
HnuStudent hnu2 = new HnuStudent("李氏",22);
//将hnu1的首地址传给hnu2
hnu2 = hun1;
}
}
传值和传引用跟数据所存储的位置是有关的,可以在第三点看出
3.内存存储
在java中数据的存取主要是在栈和堆里面发生。栈一般存储一些地址、变量名、简单的数据、字
符串等。堆主要是存储一些类的属性、方法、数组的数据等。
在主函数中定义的对象、数组、变量他们的地都存储在栈中,例如类,栈只存储他的首地址,而
堆为其开辟一块内存空间,用以存储他的相关数据,当用到该类时,JVM(java virture machine)
会找到该类首地址,读取其数据。正如上面的“hnu2 = hun1;”,将hnu1赋予hnu2,其实际只是传递
地址,所以hnu2现在所存储的内容应该是hnu1中的数据。