四种方式交换a与b 的值--(java面试题)

四种方式交换a与b 的值–(java面试题)

package other;

public class MyTest {

	public static void main(String[] args) {
		//交换两个数的位置
		//第一种
		int a=10;
		int b=145;
		System.out.println("第一种:a="+b+"\t"+"b="+a);
		//第二种
		int c;
		c=a;
		a=b;
		b=c;
		System.out.println("第二种:a="+a+"\t"+"b="+b);
		//第三种
		int x=a+b;
		a=x-b;
		b=x-a;
		System.out.println("第三种:a="+a+"\t"+"b="+b);
		//第三种 一个数亦或同一个数两次,结果还是那个数
		a=(a^b)^b;
		b=(b^a)^a;
		System.out.println("第四种:a="+a+"\t"+"b="+b);
	}

}

package com.change;
 class changTest {

    public void change(int num1,int num2){
        int temp;
        temp=num1;
        num1=num2;
        num2=temp;
    }
    public void change(String str1,String str2){
        String temp;
        temp=str1;
        str1=str2;
        str2=temp;
    }
}
public class Test {
    public static void main(String[] args) {
        int a =100;
        int b =200;
        System.out.println("交换前:a="+a+"b="+b);
        //调用方法
        new changTest().change(a,b);
        System.out.println("交换后:a="+a+"b="+b);

        String str1="Hello";
        String str2="World";
        System.out.println("交换前:str1:  "+str1+"  str2:  "+str2);
        new changTest().change(str1,str2);
        System.out.println("交换后:str1:  "+str1+"  str2:  "+str2);
    }
}

结果–
在这里插入图片描述

内存分析,看不懂的话可以直接私聊—

在这里插入图片描述

参考链接 https://www.cnblogs.com/jeasion/p/10758333.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeMartain

祝:生活蒸蒸日上!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值