Java小白入门200例07之两个变量交换

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例07之两个变量交换相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇   06.用户输入处理
►下一篇待更新     

方案1

采用临时变量来进行交换

package demo.demo7;

public class Test1 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		System.out.println("交换前:");
		System.out.println("a:"+a);
		System.out.println("b:"+b);
		
		int temp=a;//将a的值赋给临时变量temp
		a=b;//将b的值 赋给a
		b=temp;//将临时变量temp的值赋给b
		
		System.out.println("交换后:");
		System.out.println("a:"+a);
		System.out.println("b:"+b);
	}
}

运行结果:

方案2

交换两个数字采用数学方式,而不使用临时变量。

package demo.demo7;

public class Test2 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		System.out.println("交换前:");
		System.out.println("a:"+a);
		System.out.println("b:"+b);
		
		//先把两个变量的和存在变量a中
		a = a+b;
		//把两变量的和减去b,然后赋值给b,此时完成b的
		b = a-b;
		//把两变量的和减去b,此时的b值是已经交换后的值,然后赋值给a
		a = a-b;
		
		System.out.println("交换后:");
		System.out.println("a:"+a);
		System.out.println("b:"+b);
	}
}

运行结果:

方案3

用位异或运算来实现,也是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方案。
如:
A=A^B;
B=A^B;
A=A^B;

package demo.demo7;

public class Test3 {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;
		System.out.println("交换前:");
		System.out.println("a:"+a);
		System.out.println("b:"+b);
		
		a = a^b;
		b = a^b;
		a = a^b;
		
		System.out.println("交换后:");
		System.out.println("a:"+a);
		System.out.println("b:"+b);
	}
}

运行结果:

小结

这节总结了“两个变量交换”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇   06.用户输入处理
►下一篇待更新     

以上是关于Java小白入门200例07之两个变量交换的主要内容,如果未能解决你的问题,请参考以下文章

Java小白入门200例74之static关键字(静态变量和静态方法)

Java小白入门200例115之Java模拟斗地主发牌

Java小白入门200例98之Java异常

Java小白入门200例95之Java匿名类

Java小白入门200例105之Java ArrayList类

Java小白入门200例107之Java LinkedList类