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

//添加一个中间变量
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. CentOS7.7 安装并配置JDK 1.8

    本文介绍如何在CentOS中安装oracleJDK1.8并配置环境变量 1.下载并安装jdk1.8 进入下载页:https://www.oracle.com/technetwork/java/java ...

  2. v-model修饰符

    1).lazy:取代 input 监听 change 事件. 用法: v-model.lazy="message" 效果: 在input输入框改变数据时,v-model绑定的DOM ...

  3. IIFE中的函数是函数表达式,而不是函数声明

    下面的代码打印什么内容,为什么? var b = 10; (function b(){ b = 20; console.log(b); })(); 针对这题,在知乎上看到别人的回答说: 函数表达式与函 ...

  4. 数据可视化之powerBI基础(五)深入了解Power BI的跨页钻取交互

    https://zhuanlan.zhihu.com/p/79036123 在 PowerBI 中还有一种有趣的交互方式:跨页钻取.它可以通过点击某个数据点,钻取到另一个页面,进一步展示该数据点的详细 ...

  5. 前端09 /jQuery标签操作、事件、补充

    前端09 /jQuery标签操作.事件.补充 目录 前端09 /jQuery标签操作.事件.补充 1.标签内文本操作 1.1 html标签元素中的所有内容 1.2 text 标签元素的文本内容 2.文 ...

  6. 关于报错,Whoops! Lost connection to ws://XXX.XXX.XXX.XXX:15684/ws

    昨天,在玩rabbitMQ时候,用stompJS从web连接ranbbitMQ时,报了标题的错误消息! 我把我这个html页面代码贴上,简单得讲,就是断开后,重新连接即可.

  7. 从对象到类,Java中需要知道的这些东西

    1. 对象的诞生   在平时的开发中,我们使用对象的时候,都是直接new一个临时变量然后进行各种逻辑赋值然后返回,但是你有没有想过一个对象在创建的过程中经历了什么呢,为什么创建时静态变量就已经赋完值了 ...

  8. OSCP Learning Notes - Post Exploitation(3)

    Post-Exploit Password Attacks 1. Crack using the tool - john (Too slow in real world) Locate the roc ...

  9. Linux好学吗?怎么自学Linux?6个值得你去学习Linux的理由!

    两个多月前,我对日常工作做出了一个非常重要的决定-我决定从Windows切换到Linux,将其作为个人和办公笔记本电脑的主要系统.除了开始时一些小的驱动程序问题之外,切换非常平稳,我不会考虑返回.如果 ...

  10. 给网站接入CloudFlare的CDN

    注册并登录咱的CF账号 emmmmm 添加咱的域名 食用DNS