java如何交换这两个变量的值方法介绍

 更新时间:2012年11月15日 16:05:54   作者:  
在编程中可能会使用java来完成两个变量值的交换,本文将介绍如何解决此类问题,希望可以帮助您
1.借助中间量交换
int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;

此种方法可以将中间量看成空杯,即把temp看成是空杯,
把x看成是装有白酒的杯子,把y看成是装有红酒的杯子

int temp = x; 把白酒倒到空杯中,此时temp装有白酒,x变成空杯
x = y; 把y中的红酒倒到x空杯中,此时x装有红酒,y变成空杯
y = temp; 把白酒倒到y空杯中,此时x装有红酒,y装有白酒,实现x和y的互换

2.数值相加减交换
int x = 10;
int y = 20;
x = x + y;
y = x - y;
x = x - y;

此种方法通过先求得两数的和再进行减运算

x = x + y; 此时x的值为10+20=30;
y = x - y; 此时的x经上面的运算变成30,所以y = 30 - 20 = 10;
x = x - y; 此时的y经上面的运算变成10,所以x = 30 - 10 = 20;实现两个数的互换

3.位移运算交换

int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;

相关文章

  • 详解Spring @Profile注解的使用和源码解析

    详解Spring @Profile注解的使用和源码解析

    这篇文章主要将通过源码带大家深入了解一下Spring中@Profile注解的原理与使用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04
  • Spring解密之XML解析与Bean注册示例详解

    Spring解密之XML解析与Bean注册示例详解

    这篇文章主要给大家介绍了关于Spring解密之XML解析与Bean注册的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面小编来一起学习学习吧。
    2018-01-01
  • Flink DataStream基础框架源码分析

    Flink DataStream基础框架源码分析

    这篇文章主要为大家介绍了Flink DataStream基础框架源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Jenkins初级应用之Invoke Phing targets插件配置

    Jenkins初级应用之Invoke Phing targets插件配置

    这篇文章主要为大家介绍了Jenkins初级应用之Invoke Phing targets的插件配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪<BR>
    2022-04-04
  • java高级用法之绑定CPU的线程Thread Affinity简介

    java高级用法之绑定CPU的线程Thread Affinity简介

    java线程thread affinity是用来将java代码中的线程绑定到CPU特定的核上,用来提升程序运行的性能,这篇文章主要介绍了java高级用法之绑定CPU的线程thread affinity的相关知识,需要的朋友可以参考下
    2022-05-05
  • SpringBoot使用RedisTemplate.delete删除指定key失败的解决办法

    SpringBoot使用RedisTemplate.delete删除指定key失败的解决办法

    本文主要介绍了SpringBoot使用RedisTemplate.delete删除指定key失败的解决办法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Java中的类加载与类卸载方式

    Java中的类加载与类卸载方式

    这篇文章主要介绍了Java中的类加载与类卸载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • JAVA技术实现上传下载文件到FTP服务器(完整)

    JAVA技术实现上传下载文件到FTP服务器(完整)

    这篇文章主要介绍了JAVA技术实现上传下载文件到FTP服务器(完整),本文使用 Apache Jakarta Commons Net(commons-net-3.3.jar) 基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作,需要的朋友可以参考下
    2015-07-07
  • 对Java的面对对象编程中对象和引用以及内部类的理解

    对Java的面对对象编程中对象和引用以及内部类的理解

    这篇文章主要介绍了对Java的面对对象编程中对象和引用以及内部类的理解,需要的朋友可以参考下
    2016-01-01
  • 深入理解Maven的坐标与依赖

    深入理解Maven的坐标与依赖

    这篇文章主要介绍了深入理解Maven的坐标与依赖,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01

最新评论