11.不使用第三个变量,使两个变量的值交换

编程题目:

11.int a = 3;int b = 5;不使用第三个变量,使a,b的值交换。如果是字符串呢?例如:String str1 = “a”;String str2 = “b”。

示例代码:

package program.calculation.exercise11;

/**
 * 11.int a = 3;int b = 5;不使用第三个变量,使a,b的值交换。
 * 如果是字符串呢?String str1 = "a";String str2 = "b";
 */

public class ValueSwap {
	public static void main(String[] args) {
		
		int a = 3;
		int b = 5;
		swapInt(a,b);
		
		String str1 = "a";
		String str2 = "b";
		swapString(str1,str2);
		
	}

	//整数型:三次加减操作
	private static void swapInt(int a, int b) {
		
		a = a+b; //将a,b的值全部存放在a里, a=8
		b = a-b; //a的值减去b的值就是原先a的值了,所以把原先a的值赋给了b, b=3
		a = a-b; //现在的a还是相加后的a,b已是交换后的b,a-b就是将a,b的和减去原先a的值,就剩下原先b的值了,所以a=8-3=5
		System.out.println(a+" "+b);
		
	}

	//字符串型:同理,只不过加减变成拼接和截取
	private static void swapString(String str1, String str2) {
		
		str1 = str1+str2; //合并到str1
		//将原str1截取赋值给str2
		str2 = str1.substring(0,str1.length()-str2.length());
		//将str2赋值给str1
		str1 = str1.substring(str2.length());
		System.out.println(str1+" "+str2);
		
	}
}

结果显示:

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值