JAVA_SE基础——45.基本类型变量.值交换[独家深入解析]

需求:定义一个函数交换两个基本类型变量的值。


相信看过我前面的文章的同学都应该看的懂我以下的代码:

class Demo2
{
	public static void main(String[] args) 
	{
		int a = 10 ;
		int b = 20 ;
		changeValue(a,b);
		System.out.println("交换之后的值:a="+a+"  b="+b); 
	}
	public static void changeValue(int a , int b ){
		int temp = b ;
		b =  a ;
		a = temp ;
		System.out.println("方法内部交换的值:a="+a +"  b="+b); 
	}
}
大家思考下a&b的值有没有交换成功。。。如果识交换成功了的话 运行结果是:

方法内部交换的值:a=20  b=10

交换之后的值:a=20  b=10



可是结果不是大家意料的那样。。

运行结果:



为何? 看到这结果有些同学肯定有着疑问 ,,为何 不是 交换之后的值:a=20  b=10


下面我们来看下内存图就会理解了。

一图解万疑,除非你看不懂吐舌头

JAVA_SE基础——45.基本类型变量.值交换[独家深入解析]_第1张图片


因为时间关系,快10点了,我要锻炼会 洗澡睡觉了。

引用类型变量.值交换[独家深入解析]    明天再写了。。抱歉了大笑

交流学习企鹅:654249738

你可能感兴趣的:(java,基本数据类型,值交换)