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
下面我们来看下内存图就会理解了。
一图解万疑,除非你看不懂
因为时间关系,快10点了,我要锻炼会 洗澡睡觉了。
引用类型变量.值交换[独家深入解析] 明天再写了。。抱歉了
交流学习企鹅:654249738