zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Sparc 10 with Simics
    Perl log 0906
    FPGA flow
    SV program与module的区别
    [基础]Verilog的$readmemx介绍
    [转载] 我对验证的一些理解
    我的书单
    boost 1_45_0 boost\cstdint.hpp 在 VS8下的 bug stdint.h 无法找到头文件
    Inside DllMain
    NoSQL数据库笔谈(转载)
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465298.html
Copyright © 2011-2022 走看看