第一种:添加中间变量,算是最经典最简易的一种了。

//添加一个中间变量
int x = 1, y = 2;
int z;
z = x;x = y;y = z;
System.out.println(x+","+y);

虽说是最容易想到的一种,但是不建议使用,原因无他,太low。

第二种,通过加减实现。

//加减
x = 1;y = 2;
x = x + y;
y = x - y;
x = x - y;
System.out.println(x+","+y);

 第三种,异或,比较合理却很少见的一种。

//异或
x = 1; y = 2;
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println(x+","+y);

 第四种,通过对象引用交换两个参数值

package cn.tedu.demo;
import java.util.Arrays;
//通过对象引用交换两个参数值
public class Demo14 {
private Object num; public Demo14(Object num) {
super();
this.num = num;
} public Object getNum() {
return num;
} public void setNum(Object num) {
this.num = num;
} public static void test1(Demo14 a,Demo14 b){
Object nums = a.getNum();
a.setNum(b.getNum());
b.setNum(nums);
System.out.println(a.getNum()+","+b.getNum());
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo14 a = new Demo14(1);
Demo14 b = new Demo14(2);
test1(a,b); } }

java交换两个参数值的四种方法的更多相关文章

  1. JAVA 保留两位小数的四种方法

    import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; publiccl ...

  2. java交换两个值的三种方法 经典

    1.中间变量(在开发中常用) int c=a; a=b; b=c; System.out.println("a的值: "+a+" b的值: "+b); 2.按位 ...

  3. 关于fmri数据分析的两大类,四种方法

    关于fmri数据分析的两大类,四种方法: 数据驱动: tca:其实这种方法,主要是提取时间维的特征.如果用它来进行数据的分析,则必须要利用其他的数据方法,比如结合ICA. ica:作为pca的一般化实 ...

  4. Java多线程——之一创建线程的四种方法

    1.实现Runnable接口,重载run(),无返回值 package thread; public class ThreadRunnable implements Runnable { public ...

  5. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  6. 【转载并整理】JAVA解析或生成xml的四种方法

    参考文章 1:http://blog.csdn.net/clemontine/article/details/53011362 2:http://www.jb51.net/article/98456. ...

  7. java 保留小数点后指定位数四种方法

    1 package com.itheima_01; 2 3 import java.math.BigDecimal; 4 import java.text.DecimalFormat; 5 impor ...

  8. Double值保留两位小数的四种方法

    public class DoubleTest { //保留两位小数第三位如果大于4会进一位(四舍五入) double f = 6.23556; /** *使用精确小数BigDecimal */ pu ...

  9. Java 中转换为String类型的四种方法

    1. 使用 String 的构造方法,用于 byte[], char[], StringBuffer, StringBuilder 类型 2. 使用 String 的静态方法 valueOf() 推荐 ...

随机推荐

  1. python中常见的数据类型

    str 常用方法 1. 索引(下标) s = 'ABCDEFGHIJKLMN's1 = s[0]print('s[0] = ' + s1)   #s[0] = A 2. 切片:顾头不顾尾 s = 'A ...

  2. python基础之打/解包及运算符与控制流程

    python基础之打/解包及运算符与控制流程 python中的解压缩(即序列类型的打包和解包) python提供了两个设计元祖和其他序列类型的处理的便利,也就是自动打包与自动解包功能,比如: data ...

  3. MYSQL 之 JDBC(九):增删改查(七)DAO的补充和重构

    DAO重构后的代码 package com.litian.jdbc; import org.apache.commons.beanutils.BeanUtils; import java.sql.*; ...

  4. Active Directory - Creating users via PowerShell

    Method1: Create a user by executing the following PowerShell Script. New-ADUser -name 'Michael Jorda ...

  5. oracle 在物理机上添加磁盘操作

    物理机上添加磁盘操作 注意:1)物理机上添加磁盘操作,不涉及到start_udev的动作.2)磁盘分区的操作,需要谨慎进行,核准无误后再操作. (1)查看磁盘名称命名 # su - grid$ sql ...

  6. 并发编程AQS----共享锁

    Semaphore Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目.应用场景:资源访问,服务限流. Semaphore 实现AbstractQueuedSynchro ...

  7. three.js 将图片马赛克化

    这篇郭先生来说说BufferGeometry,类型化数组和粒子系统的使用,并且让图片有马赛克效果(同理可以让不清晰的图片清晰化),如图所示.在线案例点击博客原文 1. 解析图片 解析图片和上一篇一样 ...

  8. matplotlib常见图表绘制——极坐标图-雷达图、极轴图

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:斑点鱼 极坐标轴 调用subplot()创建子图时通过设置proje ...

  9. vue项目打包踩坑记

    基于webpack+vue-cli下的vue项目打包命令是 npm run build ,等待打包完成后在根目录生成dist文件夹,里面包含了所有项目相关的内容. 注意:需要完整版的vue-cli项目 ...

  10. INSERT插入WHERE判断是否插入(MySQL)

    一.INSERT INTO IF EXISTS 具体语法:INSERT INTO table(field1, field2, fieldn) SELECT 'field1', 'field2', 'f ...