基本数据类型_引用数据类型_值传递_引用传递
1.分类:

基本数据类型:byte、short、int、long、float、double、char、boolean。
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型都属于引用类型。
2.默认大小:

备注:
1字=2字节;1字节=8位;1位=1比特;
1.字:表示计算机自然数据单位的术语,字是其用来一次性处理事务的一个固定长度的位(bit)组,在现代计算机中,一个字等于两个字节。
2.字节:英文Byte,是计算机用于计量存储容量的一种计量单位,通常情况下一字节等于八位,
字节同时也在一些计算机编程语言中表示数据类型和语言字符,在现代计算机中,一个字节等于八位。
3.位:是计算机存储的最小单位,简记为b,也称为比特(bit)。
计算机中用二进制中的0和1来表示数据,一个0或1就代表一位。
位数通常指计算机中一次能处理的数据大小。
4.比特:是由英文BIT音译而来,比特同时也是二进制数字中的位,是信息量的度量单位,为信息量的最小单位。
3.区别:
1.存储位置:
基本类型: 在方法中定义的非全局的基本数据类型变量的具体内容是存储在栈中的。
引用变量类型:只要是引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是其内容所在的内存地址,
简单地讲,“引用”(存储对象在内存堆上的地址) 是存储在有序的内存栈上的,而对象本身的值存储在内存堆上。
Demo:
public class Demo { public static void main(String[] args){ // 基本数据类型 int i=1; double d=1.2; // 引用数据类型 String str="helloworld"; } }
分析:

2.传递方式(值传递和引用传递):
1.基本变量类型:
在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按值传递的。
Demo:
public class Demo { public static void main(String[] args){ int msg = 100; System.out.println("调用方法前msg的值: "+ msg); fun(msg); System.out.println("调用方法后msg的值:"+ msg); } public static void fun(int temp){ temp = 0; } }
过程分析:

结论:
基本数据类型变量,在传递时按值传递,不会改变原来值。
2.引用类型:
用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本
Demo:
View Code
过程分析:

结论:
引用数据类型变量,在方法中传递时,传递的是引用副本,会影响到原来值。

浙公网安备 33010602011771号